Inspired by the maps on http://jkunst.com/r/plotting-gtfs-data-with-r/, I set out to adapt the code and map the Metro system in St. Louis, Missouri.
The site https://www.metrostlouis.org/developer-resources/ contains links to the General Transit Specification Feed (GTFS) Data for Metro Transit - St. Louis. The zip file located at the link for “Metro Transit â St. Louis GTFS Data Feed” downloaded March 6, 2017, contains the files:
From this, stops.txt and shapes.txt will allow us to draw out the routes of both Metro bus and Metrolink lines.
# Update the location of the STL GTFS files
STLmapPath<- "C:/Users/cindytraub/Box Sync/CT_presentations/MeetupSpatialR/gtfs_STL/"
# STLmapPath<- "/Users/CTatWUSTL/Box Sync/CT_presentations/MeetupSpatialR/gtfs_STL/"
# read in the shapes csv
shapes <- fread(paste0(STLmapPath,"shapes.txt")) # Reads in file regardless of working dir
dim(shapes)
## [1] 288790 5
summary(shapes)
## shape_id shape_pt_lat shape_pt_lon shape_pt_sequence
## Min. :91002 Min. :38.33 Min. :-90.68 Min. : 1.0
## 1st Qu.:91210 1st Qu.:38.59 1st Qu.:-90.35 1st Qu.: 109.0
## Median :91559 Median :38.64 Median :-90.29 Median : 235.0
## Mean :91477 Mean :38.64 Mean :-90.27 Mean : 297.6
## 3rd Qu.:91757 3rd Qu.:38.70 3rd Qu.:-90.21 3rd Qu.: 413.0
## Max. :91916 Max. :38.84 Max. :-89.79 Max. :1925.0
## shape_dist_traveled
## Mode:logical
## NA's:288790
##
##
##
##
# examine shapes
head(shapes,10)
## shape_id shape_pt_lat shape_pt_lon shape_pt_sequence
## 1: 91228 38.69214 -90.39549 1
## 2: 91228 38.69189 -90.39301 2
## 3: 91228 38.69185 -90.39265 3
## 4: 91228 38.69178 -90.39205 4
## 5: 91228 38.69170 -90.39124 5
## 6: 91228 38.69151 -90.38948 6
## 7: 91228 38.69145 -90.38890 7
## 8: 91228 38.69138 -90.38821 8
## 9: 91228 38.69124 -90.38690 9
## 10: 91228 38.69115 -90.38612 10
## shape_dist_traveled
## 1: NA
## 2: NA
## 3: NA
## 4: NA
## 5: NA
## 6: NA
## 7: NA
## 8: NA
## 9: NA
## 10: NA
shapes[, length(unique(shape_id))]
## [1] 681
shapes[,.N, shape_id]
## shape_id N
## 1: 91228 145
## 2: 91317 1169
## 3: 91316 710
## 4: 91088 561
## 5: 91315 82
## ---
## 677: 91277 580
## 678: 91270 57
## 679: 91271 293
## 680: 91272 48
## 681: 91273 255
p <- ggplot(shapes) +
geom_path(aes(shape_pt_lon, shape_pt_lat, group = shape_id),
size = .1, alpha = .1) +
coord_equal() + theme_map()
p
This gives us an interesting view of major roads in the area, but is pretty heavy in terms of data (see dimensions of shapes data table). It is also distorted, because treating longitude and latitude as \(x\) and \(y\) coordinates for the sake of plotting is not an accurate representation of the physical earth. It works fine for exploratory plotting, however. For a detailed presentation of how to make maps within ggplot using ggmap, see the vignette by Robin Lovelace at https://github.com/Robinlovelace/Creating-maps-in-R/blob/master/vignettes/ggmap.Rmd.
routes <- fread(paste0(STLmapPath,"routes.txt"))
dim(routes)
## [1] 162 7
head(routes,10)
## route_long_name route_type route_text_color agency_id route_id
## 1: Oakville 3 000000 NA 13519
## 2: City Limits 3 000000 NA 13518
## 3: Hazelwood 3 000000 NA 13636
## 4: Berkeley-Florissant 3 000000 NA 13637
## 5: Rock Road 3 000000 NA 13634
## 6: Hanley-Graham 3 000000 NA 13635
## 7: Dorsett-Lackland 3 000000 NA 13632
## 8: Earth City 3 000000 NA 13633
## 9: Soulard 3 000000 NA 13630
## 10: ML King-Chouteau 3 000000 NA 13631
## route_color route_short_name
## 1: FFFFFF 17
## 2: FFFFFF 16
## 3: FFFFFF 38
## 4: FFFFFF 39
## 5: FFFFFF 35
## 6: FFFFFF 37
## 7: FFFFFF 33
## 8: FFFFFF 34
## 9: FFFFFF 30
## 10: FFFFFF 32
summary(routes)
## route_long_name route_type route_text_color agency_id
## Length:162 Min. :2.000 Length:162 Mode:logical
## Class :character 1st Qu.:3.000 Class :character NA's:162
## Mode :character Median :3.000 Mode :character
## Mean :2.975
## 3rd Qu.:3.000
## Max. :3.000
## route_id route_color route_short_name
## Length:162 Length:162 Length:162
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
routes[route_type==2] # note this got the MetroLink routes only
## route_long_name route_type route_text_color agency_id route_id
## 1: MetroLink Blue Line 2 FFFFFF NA 13576B
## 2: MetroLink Red Line 2 FFFFFF NA 13576R
## 3: MetroLink Blue Line 2 FFFFFF NA 13684B
## 4: MetroLink Red Line 2 FFFFFF NA 13684R
## route_color route_short_name
## 1: 333399 MLB
## 2: CC0033 MLR
## 3: 333399 MLB
## 4: CC0033 MLR
trips <- fread(paste0(STLmapPath,"trips.txt"))
dim(trips)
## [1] 22628 7
head(trips,10)
## block_id route_id direction_id trip_headsign
## 1: b_69128 13563 0 CAHOKIA - TO 5TH & MO VIA AIRPORT
## 2: b_69131 13563 0 CAHOKIA - TO 5TH & MO VIA AIRPORT
## 3: b_69122 13563 0 CAHOKIA - TO 5TH & MO VIA AIRPORT
## 4: b_69129 13563 0 CAHOKIA - TO 5TH & MO VIA AIRPORT
## 5: b_69128 13563 0 CAHOKIA - TO 5TH & MO VIA AIRPORT
## 6: b_69131 13563 0 CAHOKIA - TO 5TH & MO VIA AIRPORT
## 7: b_69131 13563 0 CAHOKIA - TO 5TH & MO VIA WATER ST
## 8: b_69129 13563 0 CAHOKIA - TO 5TH & MO VIA AIRPORT
## 9: b_69122 13563 0 CAHOKIA - TO 5TH & MO VIA AIRPORT
## 10: b_69129 13563 0 CAHOKIA - TO 5TH & MO VIA AIRPORT
## shape_id service_id trip_id
## 1: 91258 1_merged_2200336 2174276
## 2: 91258 1_merged_2200336 2174277
## 3: 91258 1_merged_2200336 2174274
## 4: 91258 1_merged_2200336 2174275
## 5: 91258 1_merged_2200336 2174272
## 6: 91258 1_merged_2200336 2174273
## 7: 91259 1_merged_2200336 2174270
## 8: 91258 1_merged_2200336 2174271
## 9: 91258 1_merged_2200336 2174278
## 10: 91258 1_merged_2200336 2174279
stops <- fread(paste0(STLmapPath,"stops.txt"))
dim(stops)
## [1] 7465 8
head(stops,10)
## stop_lat zone_id stop_lon stop_id
## 1: 38.62636 NA -90.18980 13357
## 2: 38.54872 NA -90.01320 11542
## 3: 38.54871 NA -90.01151 11543
## 4: 38.54880 NA -90.01801 11540
## 5: 38.54873 NA -90.01417 11541
## 6: 38.60284 NA -90.05177 11546
## 7: 38.60848 NA -90.04896 11547
## 8: 38.55633 NA -90.01806 11545
## 9: 38.61090 NA -90.04762 11548
## 10: 38.61269 NA -90.04663 11549
## stop_desc
## 1: NEAR SIDE BROADWAY @ CHESTNUT SB
## 2: NEAR SIDE MEMORIAL @ HIGH FOREST EB
## 3: NEAR SIDE MEMORIAL @ ROYAL HEIGHTS EB
## 4: FAR SIDE MEMORIAL @ 43RD STREET EB
## 5: NEAR SIDE MEMORIAL @ 39TH STREET EB
## 6: FAR SIDE ILLINOIS ROUTE 157 @ CALIFORNIA NB
## 7: NEAR SIDE ILLINOIS ROUTE 157 @ GARDEN NB
## 8: FAR SIDE FLANAGAN @ IDA NB
## 9: FAR SIDE ILLINOIS ROUTE 157 @ TUCKER NB
## 10: NEAR SIDE ILLINOIS ROUTE 157 @ RAUCKMAN NB
## stop_name location_type stop_code
## 1: BROADWAY @ CHESTNUT SB 0 13357
## 2: MEMORIAL @ HIGH FOREST EB 0 11542
## 3: MEMORIAL @ ROYAL HEIGHTS EB 0 11543
## 4: MEMORIAL @ 43RD STREET EB 0 11540
## 5: MEMORIAL @ 39TH STREET EB 0 11541
## 6: ILLINOIS ROUTE 157 @ CALIFORNIA NB 0 11546
## 7: ILLINOIS ROUTE 157 @ GARDEN NB 0 11547
## 8: FLANAGAN @ IDA NB 0 11545
## 9: ILLINOIS ROUTE 157 @ TUCKER NB 0 11548
## 10: ILLINOIS ROUTE 157 @ RAUCKMAN NB 0 11549
summary(stops)
## stop_lat zone_id stop_lon stop_id
## Min. :38.33 Mode:logical Min. :-90.68 Min. : 6
## 1st Qu.:38.58 NA's:7465 1st Qu.:-90.33 1st Qu.: 5282
## Median :38.63 Median :-90.26 Median : 8854
## Mean :38.63 Mean :-90.24 Mean : 9033
## 3rd Qu.:38.68 3rd Qu.:-90.18 3rd Qu.:12636
## Max. :38.84 Max. :-89.79 Max. :16333
## stop_desc stop_name location_type stop_code
## Length:7465 Length:7465 Min. :0 Min. : 6
## Class :character Class :character 1st Qu.:0 1st Qu.: 5282
## Mode :character Mode :character Median :0 Median : 8854
## Mean :0 Mean : 9033
## 3rd Qu.:0 3rd Qu.:12636
## Max. :0 Max. :16333
head(stops$stop_name,20)
## [1] "BROADWAY @ CHESTNUT SB"
## [2] "MEMORIAL @ HIGH FOREST EB"
## [3] "MEMORIAL @ ROYAL HEIGHTS EB"
## [4] "MEMORIAL @ 43RD STREET EB"
## [5] "MEMORIAL @ 39TH STREET EB"
## [6] "ILLINOIS ROUTE 157 @ CALIFORNIA NB"
## [7] "ILLINOIS ROUTE 157 @ GARDEN NB"
## [8] "FLANAGAN @ IDA NB"
## [9] "ILLINOIS ROUTE 157 @ TUCKER NB"
## [10] "ILLINOIS ROUTE 157 @ RAUCKMAN NB"
## [11] "NORTH HANLEY @ MONROE NB"
## [12] "NORTH HANLEY @ ALERT NB"
## [13] "NORTH HANLEY @ MILAN NB"
## [14] "NORTH HANLEY @ ANNA NB"
## [15] "NORTH HANLEY @ CANTON NB"
## [16] "NORTH HANLEY @ WASHINGTON NB"
## [17] "NORTH HANLEY @ PAGE NB"
## [18] "BELLEFONTAINE @ ST CYR NB"
## [19] "BELLEFONTAINE @ ZELLWEGER NB"
## [20] "BELLEFONTAINE @ TEURVILLE NB"
stops[grep("METRO", stops$stop_name), stop_name] # some are bus stops
## [1] "CONVENTION CENTER METROLINK STATION"
## [2] "METRO PLAZA @ SECTION LINE EB"
## [3] "METRO MAIN SHOP GATE @ SPRUCE NB"
## [4] "DES PERES @ DELMAR LOOP METROLINK WB"
## [5] "ROCK ROAD METROBUS LOOP @ METROLINK"
## [6] "WASHINGTON @ 6TH STREET METROLINK EB"
## [7] "CLAYTON METROBUS CENTER @ METROLINK"
## [8] "METRO PLAZA @ SECTION LINE WB"
## [9] "TAYLOR @ BROADWAY-TAYLOR METROBUS LOOP WB"
## [10] "DEBALIVIERE AVE @ FOREST PARK METROLINK NB"
## [11] "NORTH HANLEY METROBUS LOOP @ METROLINK"
## [12] "UMSL SOUTH METROBUS LOOP @ METROLINK"
## [13] "BRENTWOOD I-64 METROBUS LOOP @ METROLINK"
## [14] "DEBALIVIERE AVE @ FOREST PARK METROLINK SB"
## [15] "SUNNEN METROLINK STATION"
## [16] "MAPLEWOOD METROLINK STATION"
## [17] "BRENTWOOD METROLINK STATION"
## [18] "RICHMOND HEIGHTS METROLINK STATION"
## [19] "SHREWSBURY METROLINK STATION"
## [20] "EMERSON PARK METROLINK STATION"
## [21] "BALLAS METROBUS CENTER"
## [22] "FAIRVIEW HEIGHTS METROLINK STATION"
## [23] "BELLEVILLE METROLINK STATION"
## [24] "FAIRVIEW HEIGHTS LOOP @ METROLINK"
## [25] "SWANSEA LOOP @ METROLINK"
## [26] "GRAND METROLINK STATION"
## [27] "CENTRAL WEST END METROLINK STATION"
## [28] "FOREST PARK METROLINK STATION"
## [29] "DELMAR METROLINK STATION"
## [30] "FORSYTH @ FORSYTH METROLINK WB"
## [31] "PLYMOUTH @ WELLSTON METROLINK WB"
## [32] "BELLEVILLE LOOP @ METROLINK"
## [33] "COLLEGE METROLINK STATION"
## [34] "18TH STREET @ UNION STA METROLINK NB"
## [35] "DES PERES @ DELMAR LOOP METROLINK EB"
## [36] "RIVERVIEW-HALL METROBUS CENTER"
## [37] "SHREWSBURY METROBUS LOOP @ METROLINK"
## [38] "GRAND @ GRAND METROLINK NB"
## [39] "MAPLEWOOD MANCHESTER LOOP @ METROLINK"
## [40] "CLARK @ 18TH STREET METROLINK EB"
## [41] "RIVERVIEW-HALL METROBUS CENTER"
## [42] "WASHINGTON @ 6TH STREET METROLINK WB"
## [43] "CWE METROBUS CENTER @ METROLINK"
## [44] "RICHMOND HEIGHTS LOOP @ METROLINK"
## [45] "SKINKER METROLINK @ FOREST PARK PARKWAY SB"
## [46] "ROCK ROAD METROBUS LOOP @ METROLINK"
## [47] "MEMORIAL HOSPITAL METROLINK STATION"
## [48] "JJK CENTER METROLINK STATION"
## [49] "WASHINGTON PARK METROLINK STATION"
## [50] "COLLEGE LOOP @ METROLINK"
## [51] "SWANSEA METROLINK STATION"
## [52] "WASHINGTON PARK LOOP @ METROLINK"
## [53] "ROCK ROAD METROLINK STATION"
## [54] "CIVIC CENTER METROLINK STATION"
## [55] "JJK CENTER LOOP @ METROLINK"
## [56] "CLAYTON METROLINK STATION"
## [57] "FORSYTH METROLINK STATION"
## [58] "STADIUM METROLINK STATION"
## [59] "UMSL NORTH METROLINK STATION"
## [60] "18TH STREET @ CLARK METROLINK NB"
## [61] "DORSETT @ METRO WB"
## [62] "5TH & MISSOURI LOOP @ METROLINK"
## [63] "SHILOH SCOTT BASE LOOP @ METROLINK"
## [64] "MANCHESTER @ MAPLEWOOD METROLINK EB"
## [65] "SKINKER METROLINK STATION"
## [66] "U CITY BIG BEND METROLINK STATION"
## [67] "SHREWSBURY METROBUS LOOP @ METROLINK"
## [68] "WELLSTON METROLINK STATION"
## [69] "8TH AND PINE METROLINK STATION"
## [70] "UNION STA METROLINK STATION"
## [71] "MEMORIAL HOSPITAL LOOP @ METROLINK"
## [72] "ILLINOIS @ METROWAY SB"
## [73] "8TH STREET @ PINE METROLINK SB"
## [74] "GRAND @ GRAND METROLINK SB"
## [75] "EAST RIVERFRONT METROLINK STATION"
## [76] "5TH & MISSOURI METROLINK STATION"
## [77] "LACLEDES LANDING METROLINK STATION"
## [78] "LAMBERT MAIN TRML METROLINK STATION"
## [79] "LAMBERT EAST TRML METROLINK STATION"
## [80] "NORTH HANLEY METROLINK STATION"
## [81] "UMSL SOUTH METROLINK STATION"
## [82] "SHILOH-SCOTT LOOP @ METROLINK"
## [83] "18TH STREET @ UNION STA METROLINK SB"
## [84] "SHILOH-SCOTT METROLINK STATION"
## [85] "NORTH HANLEY METROBUS LOOP @ METROLINK"
## [86] "METRO MAIN SHOP GATE @ SPRUCE SB"
## [87] "CLAYTON METROBUS CENTER @ METROLINK"
## [88] "CWE METROBUS CENTER @ METROLINK"
## [89] "EMERSON PARK LOOP @ METROLINK"
## [90] "SPRUCE @ 14TH STREET METROLINK WB"
## [91] "PLYMOUTH @ WELLSTON METROLINK EB"
stops[grep("METROLINK STATION", stops$stop_name), stop_name] # NO bus stops
## [1] "CONVENTION CENTER METROLINK STATION"
## [2] "SUNNEN METROLINK STATION"
## [3] "MAPLEWOOD METROLINK STATION"
## [4] "BRENTWOOD METROLINK STATION"
## [5] "RICHMOND HEIGHTS METROLINK STATION"
## [6] "SHREWSBURY METROLINK STATION"
## [7] "EMERSON PARK METROLINK STATION"
## [8] "FAIRVIEW HEIGHTS METROLINK STATION"
## [9] "BELLEVILLE METROLINK STATION"
## [10] "GRAND METROLINK STATION"
## [11] "CENTRAL WEST END METROLINK STATION"
## [12] "FOREST PARK METROLINK STATION"
## [13] "DELMAR METROLINK STATION"
## [14] "COLLEGE METROLINK STATION"
## [15] "MEMORIAL HOSPITAL METROLINK STATION"
## [16] "JJK CENTER METROLINK STATION"
## [17] "WASHINGTON PARK METROLINK STATION"
## [18] "SWANSEA METROLINK STATION"
## [19] "ROCK ROAD METROLINK STATION"
## [20] "CIVIC CENTER METROLINK STATION"
## [21] "CLAYTON METROLINK STATION"
## [22] "FORSYTH METROLINK STATION"
## [23] "STADIUM METROLINK STATION"
## [24] "UMSL NORTH METROLINK STATION"
## [25] "SKINKER METROLINK STATION"
## [26] "WELLSTON METROLINK STATION"
## [27] "8TH AND PINE METROLINK STATION"
## [28] "UNION STA METROLINK STATION"
## [29] "EAST RIVERFRONT METROLINK STATION"
## [30] "5TH & MISSOURI METROLINK STATION"
## [31] "LACLEDES LANDING METROLINK STATION"
## [32] "LAMBERT MAIN TRML METROLINK STATION"
## [33] "LAMBERT EAST TRML METROLINK STATION"
## [34] "NORTH HANLEY METROLINK STATION"
## [35] "UMSL SOUTH METROLINK STATION"
## [36] "SHILOH-SCOTT METROLINK STATION"
setdiff(stops[grep("METRO", stops$stop_name),stop_name],stops[grep("METROLINK STATION", stops$stop_name),stop_name])
## [1] "METRO PLAZA @ SECTION LINE EB"
## [2] "METRO MAIN SHOP GATE @ SPRUCE NB"
## [3] "DES PERES @ DELMAR LOOP METROLINK WB"
## [4] "ROCK ROAD METROBUS LOOP @ METROLINK"
## [5] "WASHINGTON @ 6TH STREET METROLINK EB"
## [6] "CLAYTON METROBUS CENTER @ METROLINK"
## [7] "METRO PLAZA @ SECTION LINE WB"
## [8] "TAYLOR @ BROADWAY-TAYLOR METROBUS LOOP WB"
## [9] "DEBALIVIERE AVE @ FOREST PARK METROLINK NB"
## [10] "NORTH HANLEY METROBUS LOOP @ METROLINK"
## [11] "UMSL SOUTH METROBUS LOOP @ METROLINK"
## [12] "BRENTWOOD I-64 METROBUS LOOP @ METROLINK"
## [13] "DEBALIVIERE AVE @ FOREST PARK METROLINK SB"
## [14] "BALLAS METROBUS CENTER"
## [15] "FAIRVIEW HEIGHTS LOOP @ METROLINK"
## [16] "SWANSEA LOOP @ METROLINK"
## [17] "FORSYTH @ FORSYTH METROLINK WB"
## [18] "PLYMOUTH @ WELLSTON METROLINK WB"
## [19] "BELLEVILLE LOOP @ METROLINK"
## [20] "18TH STREET @ UNION STA METROLINK NB"
## [21] "DES PERES @ DELMAR LOOP METROLINK EB"
## [22] "RIVERVIEW-HALL METROBUS CENTER"
## [23] "SHREWSBURY METROBUS LOOP @ METROLINK"
## [24] "GRAND @ GRAND METROLINK NB"
## [25] "MAPLEWOOD MANCHESTER LOOP @ METROLINK"
## [26] "CLARK @ 18TH STREET METROLINK EB"
## [27] "WASHINGTON @ 6TH STREET METROLINK WB"
## [28] "CWE METROBUS CENTER @ METROLINK"
## [29] "RICHMOND HEIGHTS LOOP @ METROLINK"
## [30] "SKINKER METROLINK @ FOREST PARK PARKWAY SB"
## [31] "COLLEGE LOOP @ METROLINK"
## [32] "WASHINGTON PARK LOOP @ METROLINK"
## [33] "JJK CENTER LOOP @ METROLINK"
## [34] "18TH STREET @ CLARK METROLINK NB"
## [35] "DORSETT @ METRO WB"
## [36] "5TH & MISSOURI LOOP @ METROLINK"
## [37] "SHILOH SCOTT BASE LOOP @ METROLINK"
## [38] "MANCHESTER @ MAPLEWOOD METROLINK EB"
## [39] "U CITY BIG BEND METROLINK STATION"
## [40] "MEMORIAL HOSPITAL LOOP @ METROLINK"
## [41] "ILLINOIS @ METROWAY SB"
## [42] "8TH STREET @ PINE METROLINK SB"
## [43] "GRAND @ GRAND METROLINK SB"
## [44] "SHILOH-SCOTT LOOP @ METROLINK"
## [45] "18TH STREET @ UNION STA METROLINK SB"
## [46] "METRO MAIN SHOP GATE @ SPRUCE SB"
## [47] "EMERSON PARK LOOP @ METROLINK"
## [48] "SPRUCE @ 14TH STREET METROLINK WB"
## [49] "PLYMOUTH @ WELLSTON METROLINK EB"
(stops_metro <- stops[grep("METROLINK STATION", stops$stop_name)])
## stop_lat zone_id stop_lon stop_id stop_desc
## 1: 38.63022 NA -90.18940 10619
## 2: 38.60717 NA -90.33029 14754
## 3: 38.61367 NA -90.33113 14755
## 4: 38.62834 NA -90.33811 14756
## 5: 38.63514 NA -90.34234 14757
## 6: 38.59287 NA -90.31944 14753
## 7: 38.62911 NA -90.13723 10599
## 8: 38.59381 NA -90.04794 10602
## 9: 38.52183 NA -89.97436 10605
## 10: 38.62951 NA -90.23546 10624
## 11: 38.63583 NA -90.26194 10625
## 12: 38.64778 NA -90.28465 10626
## 13: 38.65572 NA -90.29459 10627
## 14: 38.51618 NA -89.91967 11103
## 15: 38.55757 NA -90.01536 10603
## 16: 38.62324 NA -90.12441 10600
## 17: 38.61374 NA -90.09529 10601
## 18: 38.53627 NA -89.98748 10604
## 19: 38.68524 NA -90.30143 10629
## 20: 38.62501 NA -90.20307 10622
## 21: 38.64565 NA -90.33926 14758
## 22: 38.64893 NA -90.32814 14759
## 23: 38.62341 NA -90.19454 13662
## 24: 38.71285 NA -90.30612 10631
## 25: 38.64936 NA -90.30081 14761
## 26: 38.66889 NA -90.29841 10628
## 27: 38.62791 NA -90.19271 10620
## 28: 38.62659 NA -90.20655 10623
## 29: 38.62851 NA -90.17475 10617
## 30: 38.62506 NA -90.15938 10616
## 31: 38.62946 NA -90.18364 10618
## 32: 38.74122 NA -90.36460 10634
## 33: 38.73617 NA -90.35603 10633
## 34: 38.71996 NA -90.31521 10632
## 35: 38.70526 NA -90.30514 10630
## 36: 38.53909 NA -89.87917 14274
## stop_lat zone_id stop_lon stop_id stop_desc
## stop_name location_type stop_code
## 1: CONVENTION CENTER METROLINK STATION 0 10619
## 2: SUNNEN METROLINK STATION 0 14754
## 3: MAPLEWOOD METROLINK STATION 0 14755
## 4: BRENTWOOD METROLINK STATION 0 14756
## 5: RICHMOND HEIGHTS METROLINK STATION 0 14757
## 6: SHREWSBURY METROLINK STATION 0 14753
## 7: EMERSON PARK METROLINK STATION 0 10599
## 8: FAIRVIEW HEIGHTS METROLINK STATION 0 10602
## 9: BELLEVILLE METROLINK STATION 0 10605
## 10: GRAND METROLINK STATION 0 10624
## 11: CENTRAL WEST END METROLINK STATION 0 10625
## 12: FOREST PARK METROLINK STATION 0 10626
## 13: DELMAR METROLINK STATION 0 10627
## 14: COLLEGE METROLINK STATION 0 11103
## 15: MEMORIAL HOSPITAL METROLINK STATION 0 10603
## 16: JJK CENTER METROLINK STATION 0 10600
## 17: WASHINGTON PARK METROLINK STATION 0 10601
## 18: SWANSEA METROLINK STATION 0 10604
## 19: ROCK ROAD METROLINK STATION 0 10629
## 20: CIVIC CENTER METROLINK STATION 0 10622
## 21: CLAYTON METROLINK STATION 0 14758
## 22: FORSYTH METROLINK STATION 0 14759
## 23: STADIUM METROLINK STATION 0 13662
## 24: UMSL NORTH METROLINK STATION 0 10631
## 25: SKINKER METROLINK STATION 0 14761
## 26: WELLSTON METROLINK STATION 0 10628
## 27: 8TH AND PINE METROLINK STATION 0 10620
## 28: UNION STA METROLINK STATION 0 10623
## 29: EAST RIVERFRONT METROLINK STATION 0 10617
## 30: 5TH & MISSOURI METROLINK STATION 0 10616
## 31: LACLEDES LANDING METROLINK STATION 0 10618
## 32: LAMBERT MAIN TRML METROLINK STATION 0 10634
## 33: LAMBERT EAST TRML METROLINK STATION 0 10633
## 34: NORTH HANLEY METROLINK STATION 0 10632
## 35: UMSL SOUTH METROLINK STATION 0 10630
## 36: SHILOH-SCOTT METROLINK STATION 0 14274
## stop_name location_type stop_code
stops_notmetro <- setdiff(stops, stops_metro)
routes_metro <- routes[route_type==2]
shapes_metro <- shapes %>%
filter(shape_id %in% trips$shape_id[trips$route_id %in% routes_metro$route_id]) %>%
arrange(shape_id, shape_pt_sequence)
### or, if you prefer data.table subsetting
shapes_metro.dt <- shapes[shape_id%in% trips[route_id%in% routes_metro$route_id, shape_id]]
setkey(shapes_metro.dt, shape_id, shape_pt_sequence)
shapes_colors <- left_join(left_join(shapes %>% select(shape_id) %>% unique(),
trips %>% select(shape_id, route_id) %>% unique(),
by = "shape_id"),
routes %>% select(route_id, route_color) %>% unique(),
by = "route_id") %>%
mutate(route_color = paste0("#", route_color))
shapes_colors_metro <- shapes_colors %>%
filter(shape_id %in% trips$shape_id[trips$route_id %in% routes_metro$route_id]) %>% unique() %>% arrange(shape_id)
p2 <- ggplot() + geom_path(data = shapes_metro.dt,
aes(shape_pt_lon, shape_pt_lat, group = shape_id, color = factor(shape_id)),
size = 2, alpha = .7) +
scale_color_manual(values = shapes_colors_metro$route_color) +
geom_point(data = stops_metro,
aes(stop_lon, stop_lat), shape = 21, colour = "white", alpha = 1) +
coord_equal() + theme_map() +
theme(plot.background = element_rect(fill = "black", colour = "black"),
title = element_text(hjust = 1, colour = "white", size = 8),
legend.position = "none") +
ggtitle("St. Louis Metro's public transport system")
p2
Difference in the routes?
miniMetros <- ggplot() + geom_path(data = shapes_metro.dt,
aes(shape_pt_lon, shape_pt_lat, group = shape_id, color = factor(shape_id)),
size = 2, alpha = .7) +
scale_color_manual(values = shapes_colors_metro$route_color) +
geom_point(data = stops_metro,
aes(stop_lon, stop_lat), shape = 21, colour = "white", alpha = .5) +
coord_equal() + theme_map() + facet_wrap(~shape_id,ncol=6) +
theme(plot.background = element_rect(fill = "black", colour = "black"),
title = element_text(hjust = 1, colour = "white", size = 8),
legend.position = "none") +
ggtitle("The shapes of St. Louis Metro's public transport system")
miniMetros
p3 <- p2 +geom_point(data = stops_notmetro, aes(stop_lon, stop_lat),
shape = 21, colour = "green", alpha = .2)
p3
Impressive, but the Metrolink is lost under the bus stops. Reorder code to put metro layer back on top.
p4<- p3 + geom_path(data = shapes_metro,
aes(shape_pt_lon, shape_pt_lat, group = shape_id,
color = factor(shape_id)),
size = 2, alpha = .8) +
geom_point(data = stops_metro,
aes(stop_lon, stop_lat),
shape = 21, colour = "white", alpha = .8, size = 3)
p4
# Just Metro route
p5 <- ggplot() +
geom_path(data = shapes_metro,
aes(shape_pt_lon, shape_pt_lat, group = shape_id, colour = factor(shape_id)),
size = 2, alpha = .8) +
scale_color_manual(values = shapes_colors_metro$route_color) +
geom_point(data = stops_metro,
aes(stop_lon, stop_lat),
shape = 21, colour = "white", alpha = .8, size = 3) +
coord_equal() +
theme_map() +
theme(plot.background = element_rect(fill = "black", color = "black"),
title = element_text(hjust = 1, color = "white", size = 8),
legend.position = "none")
p5 + ggtitle("St. Louis METRO")
## Insert basemap behind Metro routes
Here we reach for Leaflet, a javascript-based library that allows for interactive maps. You can read about their R package at https://rstudio.github.io/leaflet/ or peruse the full javascript library documentation at http://leafletjs.com.
library(leaflet)
m <- leaflet() %>%
addTiles() %>% # Add default OpenStreetMap map tiles
addMarkers(lng=-90.2489464, lat=38.6362105, popup="STL R User's Group Meetup at CIC@CET")
m # Print the map
just91322<-shapes_metro[which(shapes_metro$shape_id==91322), c("shape_pt_lon", "shape_pt_lat")]
leaflet(as.matrix(just91322), options = leafletOptions(minZoom = 9, maxZoom = 18)) %>% addTiles() %>%
addPolylines(color = "red", weight = 4, smoothFactor = 0.5,
opacity = 1.0, highlightOptions = highlightOptions(color = "pink", weight = 4,
bringToFront = TRUE))
just91318<-shapes_metro[which(shapes_metro$shape_id==91318), c("shape_pt_lon", "shape_pt_lat")]
allMetrolink <-rbind(just91322, c(NA, NA), just91318)
leaflet(as.matrix(allMetrolink), options = leafletOptions(minZoom = 9, maxZoom = 18)) %>%
addTiles() %>% addPolylines(color = c("red", "blue"), weight = 4, smoothFactor = 0.5,
opacity = 1.0, highlightOptions = highlightOptions(color = "yellow", weight = 4,
bringToFront = TRUE))
A list of choices of basemap styles, together with preview images is provided at http://leaflet-extras.github.io/leaflet-providers/preview/index.html.
names(providers)
## [1] "OpenStreetMap"
## [2] "OpenStreetMap.Mapnik"
## [3] "OpenStreetMap.BlackAndWhite"
## [4] "OpenStreetMap.DE"
## [5] "OpenStreetMap.France"
## [6] "OpenStreetMap.HOT"
## [7] "OpenSeaMap"
## [8] "OpenTopoMap"
## [9] "Thunderforest"
## [10] "Thunderforest.OpenCycleMap"
## [11] "Thunderforest.Transport"
## [12] "Thunderforest.TransportDark"
## [13] "Thunderforest.SpinalMap"
## [14] "Thunderforest.Landscape"
## [15] "Thunderforest.Outdoors"
## [16] "Thunderforest.Pioneer"
## [17] "OpenMapSurfer"
## [18] "OpenMapSurfer.Roads"
## [19] "OpenMapSurfer.AdminBounds"
## [20] "OpenMapSurfer.Grayscale"
## [21] "Hydda"
## [22] "Hydda.Full"
## [23] "Hydda.Base"
## [24] "Hydda.RoadsAndLabels"
## [25] "MapBox"
## [26] "Stamen"
## [27] "Stamen.Toner"
## [28] "Stamen.TonerBackground"
## [29] "Stamen.TonerHybrid"
## [30] "Stamen.TonerLines"
## [31] "Stamen.TonerLabels"
## [32] "Stamen.TonerLite"
## [33] "Stamen.Watercolor"
## [34] "Stamen.Terrain"
## [35] "Stamen.TerrainBackground"
## [36] "Stamen.TopOSMRelief"
## [37] "Stamen.TopOSMFeatures"
## [38] "Esri"
## [39] "Esri.WorldStreetMap"
## [40] "Esri.DeLorme"
## [41] "Esri.WorldTopoMap"
## [42] "Esri.WorldImagery"
## [43] "Esri.WorldTerrain"
## [44] "Esri.WorldShadedRelief"
## [45] "Esri.WorldPhysical"
## [46] "Esri.OceanBasemap"
## [47] "Esri.NatGeoWorldMap"
## [48] "Esri.WorldGrayCanvas"
## [49] "OpenWeatherMap"
## [50] "OpenWeatherMap.Clouds"
## [51] "OpenWeatherMap.CloudsClassic"
## [52] "OpenWeatherMap.Precipitation"
## [53] "OpenWeatherMap.PrecipitationClassic"
## [54] "OpenWeatherMap.Rain"
## [55] "OpenWeatherMap.RainClassic"
## [56] "OpenWeatherMap.Pressure"
## [57] "OpenWeatherMap.PressureContour"
## [58] "OpenWeatherMap.Wind"
## [59] "OpenWeatherMap.Temperature"
## [60] "OpenWeatherMap.Snow"
## [61] "HERE"
## [62] "HERE.normalDay"
## [63] "HERE.normalDayCustom"
## [64] "HERE.normalDayGrey"
## [65] "HERE.normalDayMobile"
## [66] "HERE.normalDayGreyMobile"
## [67] "HERE.normalDayTransit"
## [68] "HERE.normalDayTransitMobile"
## [69] "HERE.normalNight"
## [70] "HERE.normalNightMobile"
## [71] "HERE.normalNightGrey"
## [72] "HERE.normalNightGreyMobile"
## [73] "HERE.basicMap"
## [74] "HERE.mapLabels"
## [75] "HERE.trafficFlow"
## [76] "HERE.carnavDayGrey"
## [77] "HERE.hybridDay"
## [78] "HERE.hybridDayMobile"
## [79] "HERE.pedestrianDay"
## [80] "HERE.pedestrianNight"
## [81] "HERE.satelliteDay"
## [82] "HERE.terrainDay"
## [83] "HERE.terrainDayMobile"
## [84] "FreeMapSK"
## [85] "MtbMap"
## [86] "CartoDB"
## [87] "CartoDB.Positron"
## [88] "CartoDB.PositronNoLabels"
## [89] "CartoDB.PositronOnlyLabels"
## [90] "CartoDB.DarkMatter"
## [91] "CartoDB.DarkMatterNoLabels"
## [92] "CartoDB.DarkMatterOnlyLabels"
## [93] "HikeBike"
## [94] "HikeBike.HikeBike"
## [95] "HikeBike.HillShading"
## [96] "BasemapAT"
## [97] "BasemapAT.basemap"
## [98] "BasemapAT.grau"
## [99] "BasemapAT.overlay"
## [100] "BasemapAT.highdpi"
## [101] "BasemapAT.orthofoto"
## [102] "NASAGIBS"
## [103] "NASAGIBS.ModisTerraTrueColorCR"
## [104] "NASAGIBS.ModisTerraBands367CR"
## [105] "NASAGIBS.ViirsEarthAtNight2012"
## [106] "NASAGIBS.ModisTerraLSTDay"
## [107] "NASAGIBS.ModisTerraSnowCover"
## [108] "NASAGIBS.ModisTerraAOD"
## [109] "NASAGIBS.ModisTerraChlorophyll"
## [110] "NLS"
leaflet(as.matrix(allMetrolink),
options = leafletOptions(minZoom = 10, maxZoom = 18)) %>%
addProviderTiles("CartoDB.DarkMatter") %>%
addPolylines(color = c("red", "blue"), weight = 4,
smoothFactor = 0.5, opacity = 1.0,
highlightOptions = highlightOptions(color = "yellow",
weight = 4,
bringToFront = TRUE)) %>%
addLegend(title = "St. Louis MetroLink Light Rail System",
colors = c("red", "blue"),
labels = c("MetroLink Red Line","MetroLink Blue Line"), opacity = 1)
In this example, we show how to work with shapefile data within R. We obtain a shapefile of municipal boundaries from http://data.stlouisco.com/. (In particular, we are using this file: <>.)
library("rgdal") #load R interface to the Geospatial Abstraction Library (GDAL)
## Loading required package: sp
## rgdal: version: 1.2-5, (SVN revision 648)
## Geospatial Data Abstraction Library extensions to R successfully loaded
## Loaded GDAL runtime: GDAL 2.0.1, released 2015/09/15
## Path to GDAL shared files: C:/Users/cindytraub/Documents/R/win-library/3.3/rgdal/gdal
## Loaded PROJ.4 runtime: Rel. 4.9.2, 08 September 2015, [PJ_VERSION: 492]
## Path to PROJ.4 shared files: C:/Users/cindytraub/Documents/R/win-library/3.3/rgdal/proj
## Linking to sp version: 1.2-4
library("rgeos")
## rgeos version: 0.3-22, (SVN revision 544)
## GEOS runtime version: 3.5.0-CAPI-1.9.0 r4084
## Linking to sp version: 1.2-4
## Polygon checking: TRUE
### NOTE: ###
## Shapefile path is sensitive to trailing slash - needed on Mac, not on PC
# myShapefilePath<- "/Users/CTatWUSTL/Box Sync/CT_presentations/MeetupSpatialR/shapefiles/Municipal_Boundaries/"
myShapefilePath<- "C:/Users/cindytraub/Box Sync/CT_presentations/MeetupSpatialR/shapefiles/Municipal_Boundaries"
setwd(myShapefilePath)
dir() # should see MunicipalBoundaries (5 files)
## [1] "Municipal_Boundaries.cpg" "Municipal_Boundaries.dbf"
## [3] "Municipal_Boundaries.prj" "Municipal_Boundaries.shp"
## [5] "Municipal_Boundaries.shx"
stlco<-readOGR(dsn = myShapefilePath,layer = "Municipal_Boundaries") #read in shapefile
## OGR data source with driver: ESRI Shapefile
## Source: "C:/Users/cindytraub/Box Sync/CT_presentations/MeetupSpatialR/shapefiles/Municipal_Boundaries", layer: "Municipal_Boundaries"
## with 126 features
## It has 7 fields
## Integer64 fields read as strings: OBJECTID
### dsn is directory where data is stored
### layer specifies the file name
### no need for file extension like .shp
The traditional “shape of your data” commands give some inkling to what things look like. One difference from working with simple data frames is the use of the “@” sign to access different slots in the SpatialPolygonsDataFrame. The "@data" slot stores a data frame associated with attribute data.
summary(stlco)
## Object of class SpatialPolygonsDataFrame
## Coordinates:
## min max
## x -90.73621 -90.11769
## y 38.38781 38.89175
## Is projected: FALSE
## proj4string :
## [+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0]
## Data attributes:
## OBJECTID MUNICIPALI MUNI MUNICODE
## 1 : 1 UNINCORPORATED :36 UNI :36 000 :36
## 10 : 1 BALLWIN : 1 BAL : 1 002 : 1
## 100 : 1 BEL-NOR : 1 BEV : 1 003 : 1
## 101 : 1 BEL-RIDGE : 1 BFN : 1 004 : 1
## 102 : 1 BELLA VILLA : 1 BKJ : 1 005 : 1
## 103 : 1 BELLEFONTAINE NEIGHBORS: 1 BLN : 1 007 : 1
## (Other):120 (Other) :85 (Other):85 (Other):85
## SQ_MILES last_edite
## Min. : 0.00026 2015-08-06T01:27:52.000Z:62
## 1st Qu.: 0.11979 2015-08-06T01:27:51.000Z:32
## Median : 0.62695 2015-11-10T14:18:34.000Z: 1
## Mean : 4.15746 2015-11-10T14:18:52.000Z: 1
## 3rd Qu.: 2.86980 2015-11-18T17:58:47.000Z: 1
## Max. :93.11465 2015-12-15T15:05:30.000Z: 1
## (Other) :28
## GlobalID
## {044E6A3D-9FE8-4A71-9ADA-B4DDFDC6D0E5}: 1
## {048E191C-37F2-499E-9959-F55987F1E60B}: 1
## {04C057E6-BB0F-4A6D-B251-F9BCE363EE77}: 1
## {0C8F2EED-43D3-4E1C-8451-01EB32CF36A4}: 1
## {0CD7A2FA-44D9-4DDE-BB35-9976DB4B3E1C}: 1
## {0D8F1E11-9EAD-4335-B13E-F3B6ACD8ED0F}: 1
## (Other) :120
dim(stlco)
## [1] 126 7
summary(stlco@data)
## OBJECTID MUNICIPALI MUNI MUNICODE
## 1 : 1 UNINCORPORATED :36 UNI :36 000 :36
## 10 : 1 BALLWIN : 1 BAL : 1 002 : 1
## 100 : 1 BEL-NOR : 1 BEV : 1 003 : 1
## 101 : 1 BEL-RIDGE : 1 BFN : 1 004 : 1
## 102 : 1 BELLA VILLA : 1 BKJ : 1 005 : 1
## 103 : 1 BELLEFONTAINE NEIGHBORS: 1 BLN : 1 007 : 1
## (Other):120 (Other) :85 (Other):85 (Other):85
## SQ_MILES last_edite
## Min. : 0.00026 2015-08-06T01:27:52.000Z:62
## 1st Qu.: 0.11979 2015-08-06T01:27:51.000Z:32
## Median : 0.62695 2015-11-10T14:18:34.000Z: 1
## Mean : 4.15746 2015-11-10T14:18:52.000Z: 1
## 3rd Qu.: 2.86980 2015-11-18T17:58:47.000Z: 1
## Max. :93.11465 2015-12-15T15:05:30.000Z: 1
## (Other) :28
## GlobalID
## {044E6A3D-9FE8-4A71-9ADA-B4DDFDC6D0E5}: 1
## {048E191C-37F2-499E-9959-F55987F1E60B}: 1
## {04C057E6-BB0F-4A6D-B251-F9BCE363EE77}: 1
## {0C8F2EED-43D3-4E1C-8451-01EB32CF36A4}: 1
## {0CD7A2FA-44D9-4DDE-BB35-9976DB4B3E1C}: 1
## {0D8F1E11-9EAD-4335-B13E-F3B6ACD8ED0F}: 1
## (Other) :120
stlco@data$MUNI
## [1] BRK UNI CAL HAZ FEN EUR UNI MAN UNI UNI BLR UNI CLY STJ UNI KIN GLN
## [18] EDM UNI OAK SUN BLN WEB NWC NOR MOL BRH WAR LAD WOD PAC UNI CMP RIV
## [35] UNI DEL BFN UNI BKJ GRN UNI WIL UNI MAC WIN RKH UNI MPL CLP HUN CLA
## [52] BRW RMH FRT OLV UNI VIT WEL HLD HLH UPL VEH VIP BEV PIN UNI UNI VEL
## [69] UNI UNI UNI UNI BRV UNI UNI UNI UNI GPK LAK BLV GWV TWO UNI UNI UNI
## [86] GEP UNI UNI NTH UNI PAH PAP UNI UNI UCT PGD CCH CHF SYC CHA OVR COV
## [103] FER FLH JEN KRW MRB SHR CLK CRE STA UNI DES UNI TAC WES CCR MRH BRG
## [120] ELV BAL WWD FLO UNI VAL UNI
## 91 Levels: BAL BEV BFN BKJ BLN BLR BLV BRG BRH BRK BRV BRW CAL CCH ... WWD
head(stlco@polygons[[1]]@Polygons[[1]]@coords) ### look at first few coordinates of 1st polygon
## [,1] [,2]
## [1,] -90.32494 38.76475
## [2,] -90.32499 38.76437
## [3,] -90.32500 38.76431
## [4,] -90.32500 38.76430
## [5,] -90.32502 38.76420
## [6,] -90.32505 38.76403
plot(stlco@polygons[[1]]@Polygons[[1]]@coords) ### graph coords of 1st polygon
head(stlco@data, n=10) ### look at the first 10 rows of data
## OBJECTID MUNICIPALI MUNI MUNICODE SQ_MILES
## 0 1 BERKELEY BRK 007 4.96244058
## 1 2 UNINCORPORATED UNI 000 2.14454346
## 2 3 CALVERTON PARK CAL 012 0.41551487
## 3 4 HAZELWOOD HAZ 080 16.58132350
## 4 5 FENTON FEN 021 6.39126540
## 5 6 EUREKA EUR 098 10.61113783
## 6 7 UNINCORPORATED UNI 000 0.01190030
## 7 8 MANCHESTER MAN 094 5.05194587
## 8 9 UNINCORPORATED UNI 000 0.00257117
## 9 10 UNINCORPORATED UNI 000 0.29064989
## last_edite GlobalID
## 0 2015-08-06T01:27:52.000Z {39136D96-064C-4835-A88E-CEC13721AA7D}
## 1 2015-08-06T01:27:52.000Z {7DF0D7ED-3E1C-43B0-9F68-76A48D74F1CA}
## 2 2015-08-06T01:27:52.000Z {736A980F-C155-455D-96B9-7FD9B4DF615E}
## 3 2015-08-06T01:27:52.000Z {B69A901C-29C0-46AC-BB3A-162BF197D790}
## 4 2015-08-06T01:27:52.000Z {BFCBF99C-FBB3-4020-B026-37788F9A3C51}
## 5 2015-08-06T01:27:52.000Z {0E1952C6-DD29-4E5E-A34F-A7F7F2DFE042}
## 6 2015-08-06T01:27:52.000Z {7E719A45-B726-49AF-87EA-2298C6650551}
## 7 2015-08-06T01:27:52.000Z {0C8F2EED-43D3-4E1C-8451-01EB32CF36A4}
## 8 2015-08-06T01:27:52.000Z {EEAD0830-27AB-4E1E-80FD-69CA61B7142C}
## 9 2015-08-06T01:27:52.000Z {411FAAAC-D959-4FB9-A7A9-BBA680392963}
mean(stlco@data$SQ_MILES) ### compute the average area
## [1] 4.15746
names(stlco@data)
## [1] "OBJECTID" "MUNICIPALI" "MUNI" "MUNICODE" "SQ_MILES"
## [6] "last_edite" "GlobalID"
plot(stlco) ### plots the map of St. Louis County Municipal boundaries
# Is this projected?
stlco@proj4string
## CRS arguments:
## +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0
proj4string(stlco)
## [1] "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"
# If YES, you may wish to store the projection for later operations.
stlcoCRS<-proj4string(stlco)
# Named Municipalities
stlco@data[!stlco@data$MUNI=="UNI",]
## OBJECTID MUNICIPALI MUNI MUNICODE SQ_MILES
## 0 1 BERKELEY BRK 007 4.96244058
## 2 3 CALVERTON PARK CAL 012 0.41551487
## 3 4 HAZELWOOD HAZ 080 16.58132350
## 4 5 FENTON FEN 021 6.39126540
## 5 6 EUREKA EUR 098 10.61113783
## 7 8 MANCHESTER MAN 094 5.05194587
## 10 11 BEL-RIDGE BLR 005 0.77326350
## 12 13 CLAYTON CLY 014 2.50957127
## 13 14 ST. JOHN STJ 051 1.42858470
## 15 16 KINLOCH KIN 074 0.73391852
## 16 17 GLENDALE GLN 026 1.30133559
## 17 18 EDMUNDSON EDM 073 0.27426663
## 19 20 OAKLAND OAK 041 0.59968812
## 20 21 SUNSET HILLS SUN 101 9.04584206
## 21 22 BEL-NOR BLN 004 0.62799875
## 22 23 WEBSTER GROVES WEB 064 5.90369884
## 23 24 NORWOOD COURT NWC 077 0.12322321
## 24 25 NORMANDY NOR 039 1.84493864
## 25 26 MOLINE ACRES MOL 081 0.57058670
## 26 27 BRECKENRIDGE HILLS BRH 084 0.79829633
## 27 28 WARSON WOODS WAR 063 0.56398310
## 28 29 LADUE LAD 033 8.54510700
## 29 30 WOODSON TERRACE WOD 067 0.77796253
## 30 31 PACIFIC PAC 044 0.60664742
## 32 33 CHAMP CMP 102 0.79849851
## 33 34 RIVERVIEW RIV 089 0.83033680
## 35 36 DELLWOOD DEL 095 1.03867972
## 36 37 BELLEFONTAINE NEIGHBORS BFN 088 4.35441159
## 38 39 BLACK JACK BKJ 103 2.61431547
## 39 40 GREENDALE GRN 086 0.18683104
## 41 42 WILBUR PARK WIL 065 0.05927348
## 43 44 MACKENZIE MAC 034 0.02000011
## 44 45 WINCHESTER WIN 066 0.25038523
## 45 46 ROCK HILL RKH 050 1.09568024
## 47 48 MAPLEWOOD MPL 035 1.56402614
## 48 49 CRYSTAL LAKE PARK CLP 016 0.09487193
## 49 50 HUNTLEIGH HUN 030 0.98690032
## 50 51 COUNTRY LIFE ACRES CLA 079 0.12232057
## 51 52 BRENTWOOD BRW 009 1.94662510
## 52 53 RICHMOND HEIGHTS RMH 049 2.28854519
## 53 54 FRONTENAC FRT 025 2.90266239
## 54 55 OLIVETTE OLV 042 2.77122775
## 56 57 VINITA TERRACE VIT 062 0.06364946
## 57 58 WELLSTON WEL 078 0.92742713
## 58 59 HILLSDALE HLD 068 0.34367881
## 59 60 HANLEY HILLS HLH 076 0.34878777
## 60 61 UPLANDS PARK UPL 056 0.06855475
## 61 62 VELDA VILLAGE HILLS VEH 060 0.11961283
## 62 63 VINITA PARK VIP 061 0.72404647
## 63 64 BEVERLY HILLS BEV 008 0.09532134
## 64 65 PINE LAWN PIN 048 0.61458900
## 67 68 VELDA CITY VEL 059 0.16755216
## 72 73 BELLERIVE ACRES BRV 003 0.34104089
## 77 78 GREEN PARK GPK 106 1.30852088
## 78 79 LAKESHIRE LAK 070 0.21771170
## 79 80 BELLA VILLA BLV 002 0.12646229
## 80 81 GRANTWOOD VILLAGE GWV 029 0.80898748
## 81 82 TWIN OAKS TWO 055 0.27109417
## 85 86 GLEN ECHO PARK GEP 027 0.03122508
## 88 89 NORTHWOODS NTH 040 0.67333775
## 90 91 PASADENA HILLS PAH 045 0.21138557
## 91 92 PASADENA PARK PAP 046 0.09142287
## 94 95 UNIVERSITY CITY UCT 057 5.89802311
## 95 96 PAGEDALE PGD 085 1.21159061
## 96 97 COUNTRY CLUB HILLS CCH 015 0.18662630
## 97 98 CHESTERFIELD CHF 105 33.63169434
## 98 99 SYCAMORE HILLS SYC 054 0.13158481
## 99 100 CHARLACK CHA 013 0.26761734
## 100 101 OVERLAND OVR 043 4.39103293
## 101 102 COOL VALLEY COV 096 0.45755712
## 102 103 FERGUSON FER 022 6.15977656
## 103 104 FLORDELL HILLS FLH 023 0.12259412
## 104 105 JENNINGS JEN 031 3.74531144
## 105 106 KIRKWOOD KRW 032 9.17943048
## 106 107 MARLBOROUGH MRB 037 0.23570180
## 107 108 SHREWSBURY SHR 053 1.43406078
## 108 109 CLARKSON VALLEY CLK 087 2.72882982
## 109 110 CRESTWOOD CRE 069 3.57763326
## 110 111 ST. ANN STA 072 3.15564650
## 112 113 DES PERES DES 017 4.33635907
## 114 115 TOWN & COUNTRY TAC 083 11.54651725
## 115 116 WESTWOOD WES 097 0.62589883
## 116 117 CREVE COEUR CCR 082 10.27503344
## 117 118 MARYLAND HEIGHTS MRH 104 23.53182062
## 118 119 BRIDGETON BRG 010 15.15525216
## 119 120 ELLISVILLE ELV 019 4.37323406
## 120 121 BALLWIN BAL 093 8.94001252
## 121 122 WILDWOOD WWD 107 67.20598254
## 122 123 FLORISSANT FLO 024 12.80797750
## 124 125 VALLEY PARK VAL 058 4.24373456
## last_edite GlobalID
## 0 2015-08-06T01:27:52.000Z {39136D96-064C-4835-A88E-CEC13721AA7D}
## 2 2015-08-06T01:27:52.000Z {736A980F-C155-455D-96B9-7FD9B4DF615E}
## 3 2015-08-06T01:27:52.000Z {B69A901C-29C0-46AC-BB3A-162BF197D790}
## 4 2015-08-06T01:27:52.000Z {BFCBF99C-FBB3-4020-B026-37788F9A3C51}
## 5 2015-08-06T01:27:52.000Z {0E1952C6-DD29-4E5E-A34F-A7F7F2DFE042}
## 7 2015-08-06T01:27:52.000Z {0C8F2EED-43D3-4E1C-8451-01EB32CF36A4}
## 10 2015-08-06T01:27:52.000Z {634B43F7-A589-4129-96CC-BA682D37F52D}
## 12 2015-08-06T01:27:52.000Z {9DBD3F41-1103-4235-878F-89556963914F}
## 13 2015-08-06T01:27:52.000Z {8B01C06A-053D-4F9A-9BB9-8E8712D475F4}
## 15 2015-08-06T01:27:52.000Z {0D8F1E11-9EAD-4335-B13E-F3B6ACD8ED0F}
## 16 2015-08-06T01:27:52.000Z {D8024915-5731-4A5A-AB6A-1EACCC054937}
## 17 2015-08-06T01:27:52.000Z {2257B291-7519-4FD4-8DF8-DAE4A9481A1E}
## 19 2015-08-06T01:27:52.000Z {2D51855D-9736-4989-A4D0-AC49BBD2E860}
## 20 2015-08-06T01:27:52.000Z {04C057E6-BB0F-4A6D-B251-F9BCE363EE77}
## 21 2015-08-06T01:27:52.000Z {DD596A1E-ED91-4381-910E-F74063147AA9}
## 22 2015-08-06T01:27:52.000Z {C1B3E510-0700-42D6-A3A2-24114B06916A}
## 23 2015-08-06T01:27:52.000Z {128BECD7-E5E4-420B-95FF-3F746493A661}
## 24 2015-08-06T01:27:52.000Z {A30B0BA1-C4FF-477F-866A-0F0CD73CB260}
## 25 2015-08-06T01:27:52.000Z {F10C7A4A-B8A7-4CE2-9428-9D445BC1AB13}
## 26 2015-08-06T01:27:52.000Z {A266D0AE-744F-438A-BB84-875B59ADCD43}
## 27 2015-08-06T01:27:52.000Z {044E6A3D-9FE8-4A71-9ADA-B4DDFDC6D0E5}
## 28 2015-08-06T01:27:52.000Z {9B6DA128-8199-4E0A-90DF-AB64A149732A}
## 29 2015-08-06T01:27:52.000Z {CEBCF37A-08B9-4550-82C4-8278EA1CD12D}
## 30 2015-08-06T01:27:52.000Z {3F12465F-764D-48E0-BB58-EBA2E645E45B}
## 32 2015-08-06T01:27:52.000Z {A267760C-C214-4D74-91E5-CB4B5A58857A}
## 33 2015-08-06T01:27:52.000Z {A4F157C7-DF2E-4569-B793-FC841E2073AF}
## 35 2015-08-06T01:27:52.000Z {10426743-0CCD-45ED-B271-D54B6EB19E45}
## 36 2015-08-06T01:27:52.000Z {B2C36EB2-6CDE-4655-808F-BA0F5E715918}
## 38 2015-08-06T01:27:52.000Z {E71C3402-A444-4208-AD6E-2DFA53A3630D}
## 39 2015-08-06T01:27:52.000Z {C92C14AB-5595-443E-BF7D-3CC2576CBDDD}
## 41 2015-08-06T01:27:52.000Z {8422CCF7-0005-4E3A-A7D9-9DB9392E553A}
## 43 2015-08-06T01:27:52.000Z {A718EE4E-E7B0-40F2-9C32-05347390E2FB}
## 44 2015-08-06T01:27:52.000Z {1BE3D192-C673-4948-BEB1-351A8B3F9F7E}
## 45 2015-08-06T01:27:52.000Z {5B6FE647-533F-4EC6-9440-C11A92B1F36F}
## 47 2015-08-06T01:27:52.000Z {194D9E84-2B76-4599-A5B2-814484ED3F6C}
## 48 2015-08-06T01:27:52.000Z {CD4CB0BF-EB77-4173-85E2-FE8A6215C7C3}
## 49 2015-08-06T01:27:52.000Z {C99928AF-6DE9-4BD3-9132-070D2483468A}
## 50 2015-08-06T01:27:52.000Z {D8A93AEB-D26C-4120-BE0B-521907E55EC7}
## 51 2015-08-06T01:27:52.000Z {91239A48-3432-4FF5-BCC2-40B251591FC7}
## 52 2015-08-06T01:27:52.000Z {37B70446-DA3E-4491-B04D-103A0D025B26}
## 53 2015-08-06T01:27:52.000Z {2626BD36-4FEF-4E20-A110-B1FEE6B9CCB9}
## 54 2015-08-06T01:27:52.000Z {177E0EDC-6EE1-4CCF-A737-6ECD836278EC}
## 56 2015-08-06T01:27:52.000Z {690BD90A-D164-4821-8561-A4BDE1206866}
## 57 2015-08-06T01:27:52.000Z {88ED41F3-475E-4E25-83CD-6F286630D491}
## 58 2015-08-06T01:27:52.000Z {AA95A342-562F-4608-BC14-70CDDFA6B079}
## 59 2015-08-06T01:27:52.000Z {D91A84C6-FEB6-4D49-943D-D6F924C05F61}
## 60 2015-08-06T01:27:52.000Z {E3418E02-6830-429F-AC7F-822109649024}
## 61 2015-08-06T01:27:52.000Z {A3AC3337-1C4A-48BA-8736-225CAC090DC9}
## 62 2015-08-06T01:27:51.000Z {38CD1445-BBE3-4C04-8BE6-947F1D73C0A8}
## 63 2015-08-06T01:27:51.000Z {A742E564-315A-406B-9A9F-694E9AD72AFE}
## 64 2015-08-06T01:27:51.000Z {D59AA3FA-7878-44AB-AFFD-CA3AF210C20F}
## 67 2015-08-06T01:27:51.000Z {878B8CED-DFA5-4BDD-B326-11356DDF9E90}
## 72 2016-03-30T13:11:09.000Z {78E10F15-7675-4DF8-90AD-A288359D9B25}
## 77 2015-08-06T01:27:51.000Z {742EE066-26AC-4284-AAF4-50D0327F6CA8}
## 78 2015-08-06T01:27:51.000Z {4D93295B-2667-4791-8C7D-8DF7029FF5B2}
## 79 2015-08-06T01:27:51.000Z {EA108CF1-BCCB-4DF7-A521-10EC74E4B999}
## 80 2015-08-06T01:27:51.000Z {F5B75512-EC0A-499B-AE51-51669A95C69D}
## 81 2015-08-06T01:27:51.000Z {D77176A2-F36D-4157-8397-D41F8D17EF37}
## 85 2015-08-06T01:27:51.000Z {B461BD01-914D-46F2-B2C0-879891D9E99E}
## 88 2015-08-06T01:27:51.000Z {B7D51D2E-FC09-49F5-8D3E-DED87448A78C}
## 90 2015-08-06T01:27:51.000Z {C08AB9D1-3916-4000-B27B-EA77A9F1397A}
## 91 2015-08-06T01:27:51.000Z {1E2E50D0-38ED-4E0B-BAC7-AB951C1CAB06}
## 94 2015-11-10T14:18:34.000Z {C8A3A814-C7EF-47FB-ADD0-FBEAD102DF39}
## 95 2015-11-10T14:18:52.000Z {1CA1A7C9-4F32-4FA4-AB4C-D7252BCA7177}
## 96 2015-11-18T17:58:47.000Z {9A8FF3BB-4B95-4C95-AE5F-CD4541070028}
## 97 2015-12-15T15:05:30.000Z {0F209BC7-389A-4E34-A024-A4C156735C6B}
## 98 2015-12-30T15:21:31.000Z {E110018E-7193-486D-A18C-4FAD8B2D999A}
## 99 2015-12-30T15:22:58.000Z {AEA33D04-E5B7-46D3-B81A-C1D4B936559D}
## 100 2015-12-30T15:23:13.000Z {5B59B7DD-E0A0-45F3-B7CE-0E64A7259444}
## 101 2015-12-30T19:08:34.000Z {F6547AB0-7D88-4A3A-8BB1-B600CA768DAF}
## 102 2015-12-30T19:09:14.000Z {BF00288A-B4E5-4CE6-97BC-A149A6BD692B}
## 103 2016-03-29T13:45:35.000Z {AE748ADC-5D6F-4F2D-98A3-C2A1639EC210}
## 104 2016-03-29T13:46:10.000Z {4E50B35A-54C8-4BC7-8E7E-EC3FA7040E84}
## 105 2016-03-30T16:38:03.000Z {CD7CBC2D-C400-41A4-AB38-FACDA2077C55}
## 106 2016-04-01T16:17:42.000Z {DE929B8B-A828-4D43-AD57-7ED76478B9E1}
## 107 2016-04-01T16:17:53.000Z {5CC2C674-1CA3-4C55-8833-455BBE91B6CD}
## 108 2016-04-13T20:00:06.000Z {A52DD4F9-7782-4265-ADE0-C2D740A641E4}
## 109 2016-06-02T12:42:30.000Z {88AC3195-A779-4EDB-AE9D-A2C289E94896}
## 110 2016-06-14T13:35:53.000Z {8B1A915B-B92B-4235-BAC6-F5D51C644F90}
## 112 2016-03-30T16:37:02.000Z {14E5BE39-F88C-42B3-A40D-E8FA1BA4517D}
## 114 2016-08-04T19:10:25.000Z {4148A53E-39DE-4A6D-9011-32F5AA88ACF7}
## 115 2016-08-04T19:13:30.000Z {3688214A-4ED6-4E3D-ABFC-19424C64AA06}
## 116 2016-08-04T19:51:26.000Z {E34A3DAB-4C80-4978-9758-43853D1FF224}
## 117 2016-08-11T16:03:47.000Z {97DABC56-DF82-437A-9C75-6039E8B5E2F4}
## 118 2016-08-11T16:04:02.000Z {C9549300-F00C-4356-960E-1977FB9F6943}
## 119 2016-09-28T17:04:18.000Z {365F8A9D-EDE6-4F6A-B354-416757CDA1A0}
## 120 2016-09-28T17:04:36.000Z {976F22E8-E9ED-4859-A66A-63CC7853FF55}
## 121 2016-10-26T14:20:29.000Z {B6F58D70-F575-42E8-B5E2-765E3D083C0F}
## 122 2017-03-02T19:29:25.000Z {C1B23B95-CFDE-4AE4-ADAB-1C2C307233F1}
## 124 2017-03-06T17:59:51.000Z {6BFD68C8-CDDF-4698-8240-E15D330FC172}
mean(stlco@data[!stlco@data$MUNI=="UNI",]$SQ_MILES)
## [1] 3.91199
summary(stlco@data[!stlco@data$MUNI=="UNI",]$SQ_MILES)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0200 0.2719 0.8789 3.9120 4.3130 67.2100
table(stlco@data[!stlco@data$MUNI=="UNI",]$SQ_MILES)
##
## 0.02000011 0.03122508 0.05927348 0.06364946 0.06855475 0.09142287
## 1 1 1 1 1 1
## 0.09487193 0.09532134 0.11961283 0.12232057 0.12259412 0.12322321
## 1 1 1 1 1 1
## 0.12646229 0.13158481 0.16755216 0.1866263 0.18683104 0.21138557
## 1 1 1 1 1 1
## 0.2177117 0.2357018 0.25038523 0.26761734 0.27109417 0.27426663
## 1 1 1 1 1 1
## 0.34104089 0.34367881 0.34878777 0.41551487 0.45755712 0.5639831
## 1 1 1 1 1 1
## 0.5705867 0.59968812 0.60664742 0.614589 0.62589883 0.62799875
## 1 1 1 1 1 1
## 0.67333775 0.72404647 0.73391852 0.7732635 0.77796253 0.79829633
## 1 1 1 1 1 1
## 0.79849851 0.80898748 0.8303368 0.92742713 0.98690032 1.03867972
## 1 1 1 1 1 1
## 1.09568024 1.21159061 1.30133559 1.30852088 1.4285847 1.43406078
## 1 1 1 1 1 1
## 1.56402614 1.84493864 1.9466251 2.28854519 2.50957127 2.61431547
## 1 1 1 1 1 1
## 2.72882982 2.77122775 2.90266239 3.1556465 3.57763326 3.74531144
## 1 1 1 1 1 1
## 4.24373456 4.33635907 4.35441159 4.37323406 4.39103293 4.96244058
## 1 1 1 1 1 1
## 5.05194587 5.89802311 5.90369884 6.15977656 6.3912654 8.545107
## 1 1 1 1 1 1
## 8.94001252 9.04584206 9.17943048 10.27503344 10.61113783 11.54651725
## 1 1 1 1 1 1
## 12.8079775 15.15525216 16.5813235 23.53182062 33.63169434 67.20598254
## 1 1 1 1 1 1
stlco@data[!stlco@data$MUNI=="UNI"&stlco@data$SQ_MILES>=50,]
## OBJECTID MUNICIPALI MUNI MUNICODE SQ_MILES last_edite
## 121 122 WILDWOOD WWD 107 67.20598 2016-10-26T14:20:29.000Z
## GlobalID
## 121 {B6F58D70-F575-42E8-B5E2-765E3D083C0F}
mean(stlco@data[!stlco@data$MUNI=="UNI"&stlco@data$SQ_MILES<50,]$SQ_MILES)
## [1] 3.200821
#Unincorporated
stlco@data[stlco@data$MUNI=="UNI",]
## OBJECTID MUNICIPALI MUNI MUNICODE SQ_MILES
## 1 2 UNINCORPORATED UNI 000 2.14454346
## 6 7 UNINCORPORATED UNI 000 0.01190030
## 8 9 UNINCORPORATED UNI 000 0.00257117
## 9 10 UNINCORPORATED UNI 000 0.29064989
## 11 12 UNINCORPORATED UNI 000 0.16942913
## 14 15 UNINCORPORATED UNI 000 0.00048256
## 18 19 UNINCORPORATED UNI 000 0.01942226
## 31 32 UNINCORPORATED UNI 000 7.57627964
## 34 35 UNINCORPORATED UNI 000 0.00232265
## 37 38 UNINCORPORATED UNI 000 2.35408766
## 40 41 UNINCORPORATED UNI 000 1.64609768
## 42 43 UNINCORPORATED UNI 000 0.02690897
## 46 47 UNINCORPORATED UNI 000 0.00589622
## 55 56 UNINCORPORATED UNI 000 0.12030614
## 65 66 UNINCORPORATED UNI 000 0.92742970
## 66 67 UNINCORPORATED UNI 000 0.15428515
## 68 69 UNINCORPORATED UNI 000 0.00026321
## 69 70 UNINCORPORATED UNI 000 0.00047754
## 70 71 UNINCORPORATED UNI 000 0.01007022
## 71 72 UNINCORPORATED UNI 000 0.00087053
## 73 74 UNINCORPORATED UNI 000 0.00638866
## 74 75 UNINCORPORATED UNI 000 0.00400754
## 75 76 UNINCORPORATED UNI 000 0.00663480
## 76 77 UNINCORPORATED UNI 000 0.00135399
## 82 83 UNINCORPORATED UNI 000 0.00173643
## 83 84 UNINCORPORATED UNI 000 0.00121602
## 84 85 UNINCORPORATED UNI 000 0.00475766
## 86 87 UNINCORPORATED UNI 000 0.02893888
## 87 88 UNINCORPORATED UNI 000 0.00119324
## 89 90 UNINCORPORATED UNI 000 0.00104069
## 92 93 UNINCORPORATED UNI 000 0.01620425
## 93 94 UNINCORPORATED UNI 000 0.02632731
## 111 112 UNINCORPORATED UNI 000 7.66698069
## 113 114 UNINCORPORATED UNI 000 0.12734241
## 123 124 UNINCORPORATED UNI 000 55.28782437
## 125 126 UNINCORPORATED UNI 000 93.11464697
## last_edite GlobalID
## 1 2015-08-06T01:27:52.000Z {7DF0D7ED-3E1C-43B0-9F68-76A48D74F1CA}
## 6 2015-08-06T01:27:52.000Z {7E719A45-B726-49AF-87EA-2298C6650551}
## 8 2015-08-06T01:27:52.000Z {EEAD0830-27AB-4E1E-80FD-69CA61B7142C}
## 9 2015-08-06T01:27:52.000Z {411FAAAC-D959-4FB9-A7A9-BBA680392963}
## 11 2015-08-06T01:27:52.000Z {CC833DA0-4490-46AD-8486-7A36008B6DE3}
## 14 2015-08-06T01:27:52.000Z {D428A67D-C39F-442B-9163-93F963F86FB3}
## 18 2015-08-06T01:27:52.000Z {B00A66C4-395D-434C-83AE-2AA2E4CF17AA}
## 31 2015-08-06T01:27:52.000Z {7EA65964-4904-4549-8ABA-5F8FAFCDD8D1}
## 34 2015-08-06T01:27:52.000Z {E0832C48-E7B1-4EBA-B3E6-F7C0E3CC7CBE}
## 37 2015-08-06T01:27:52.000Z {412479C9-A625-4A61-823B-8EF69C61C93E}
## 40 2015-08-06T01:27:52.000Z {ADE6EB6B-1AA9-4A83-A9CA-14B22B362456}
## 42 2015-08-06T01:27:52.000Z {A1CB6FEC-878C-46C7-B370-6324DF692764}
## 46 2015-08-06T01:27:52.000Z {963363A3-3C58-4272-9AA9-F2AF8C37A04D}
## 55 2015-08-06T01:27:52.000Z {1471A24D-54DC-4E09-BC1E-483F7266BA0C}
## 65 2015-08-06T01:27:51.000Z {11046DD9-F714-47E2-980E-A78DD21446A7}
## 66 2015-08-06T01:27:51.000Z {048E191C-37F2-499E-9959-F55987F1E60B}
## 68 2015-08-06T01:27:51.000Z {61AC8ED8-300D-4215-A841-AD989B4B355A}
## 69 2015-08-06T01:27:51.000Z {40FD8EF3-F0D4-4F08-A7AC-98BAE65DC8E0}
## 70 2015-08-06T01:27:51.000Z {BC493083-55C8-4926-ACCF-4884452BEA43}
## 71 2015-08-06T01:27:51.000Z {0CD7A2FA-44D9-4DDE-BB35-9976DB4B3E1C}
## 73 2015-08-06T01:27:51.000Z {28A09463-9AD5-4348-83EB-B29B7D6DA66A}
## 74 2015-08-06T01:27:51.000Z {C576FAE4-8783-4956-AFF6-1976DC50563F}
## 75 2015-08-06T01:27:51.000Z {98695383-06A7-44ED-B28F-E7097B6C5001}
## 76 2015-08-06T01:27:51.000Z {13439433-3876-4135-B0D1-13BC9FE68937}
## 82 2015-08-06T01:27:51.000Z {8B9AA8E3-D041-41DC-8CB8-BE7A5343695B}
## 83 2015-08-06T01:27:51.000Z {0E90CEBB-3641-45A2-86AA-06DDEC4463FA}
## 84 2015-08-06T01:27:51.000Z {1B4BFEFD-A72D-475B-97AC-C33B65D60A7D}
## 86 2015-08-06T01:27:51.000Z {522E9CA1-DE2C-41B0-B1C2-763DD2DBFFB5}
## 87 2015-08-06T01:27:51.000Z {A7FAD8B0-D5AF-4611-AB71-FA7E8A8B46B8}
## 89 2015-08-06T01:27:51.000Z {FD24B108-C229-4A14-BBA0-0D51F8EF113D}
## 92 2015-08-06T01:27:51.000Z {7FDE214A-9BC1-4186-B843-3CA5D6837234}
## 93 2015-08-06T01:27:51.000Z {D1F3F237-7E94-4C2E-BD12-93D6130913C3}
## 111 2016-07-11T19:02:27.000Z {C775095D-D5F9-427F-AC37-A66E456FB75A}
## 113 2015-08-06T01:27:51.000Z {8BFDF727-2BF2-400B-9963-91FE86F626FD}
## 123 2017-03-02T19:28:35.000Z {F14958A5-6E76-4772-BD74-E5722B543D00}
## 125 2017-03-06T17:58:35.000Z {DFCA9BB6-EE1B-4B50-A98D-AE1D94497F2C}
mean(stlco@data[stlco@data$MUNI=="UNI",]$SQ_MILES)
## [1] 4.771136
summary(stlco@data[stlco@data$MUNI=="UNI",]$SQ_MILES)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.00026 0.00218 0.01405 4.77100 0.19970 93.11000
stlco@data[stlco@data$MUNI=="UNI"&stlco@data$SQ_MILES>=50,]
## OBJECTID MUNICIPALI MUNI MUNICODE SQ_MILES
## 123 124 UNINCORPORATED UNI 000 55.28782
## 125 126 UNINCORPORATED UNI 000 93.11465
## last_edite GlobalID
## 123 2017-03-02T19:28:35.000Z {F14958A5-6E76-4772-BD74-E5722B543D00}
## 125 2017-03-06T17:58:35.000Z {DFCA9BB6-EE1B-4B50-A98D-AE1D94497F2C}
summary(stlco@data[stlco@data$MUNI=="UNI"&stlco@data$SQ_MILES<50,]$SQ_MILES)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000263 0.001883 0.010990 0.687000 0.147500 7.667000
# Explore a specific Municipality
unique(stlco@data$MUNICIPALI)
## [1] BERKELEY UNINCORPORATED
## [3] CALVERTON PARK HAZELWOOD
## [5] FENTON EUREKA
## [7] MANCHESTER BEL-RIDGE
## [9] CLAYTON ST. JOHN
## [11] KINLOCH GLENDALE
## [13] EDMUNDSON OAKLAND
## [15] SUNSET HILLS BEL-NOR
## [17] WEBSTER GROVES NORWOOD COURT
## [19] NORMANDY MOLINE ACRES
## [21] BRECKENRIDGE HILLS WARSON WOODS
## [23] LADUE WOODSON TERRACE
## [25] PACIFIC CHAMP
## [27] RIVERVIEW DELLWOOD
## [29] BELLEFONTAINE NEIGHBORS BLACK JACK
## [31] GREENDALE WILBUR PARK
## [33] MACKENZIE WINCHESTER
## [35] ROCK HILL MAPLEWOOD
## [37] CRYSTAL LAKE PARK HUNTLEIGH
## [39] COUNTRY LIFE ACRES BRENTWOOD
## [41] RICHMOND HEIGHTS FRONTENAC
## [43] OLIVETTE VINITA TERRACE
## [45] WELLSTON HILLSDALE
## [47] HANLEY HILLS UPLANDS PARK
## [49] VELDA VILLAGE HILLS VINITA PARK
## [51] BEVERLY HILLS PINE LAWN
## [53] VELDA CITY BELLERIVE ACRES
## [55] GREEN PARK LAKESHIRE
## [57] BELLA VILLA GRANTWOOD VILLAGE
## [59] TWIN OAKS GLEN ECHO PARK
## [61] NORTHWOODS PASADENA HILLS
## [63] PASADENA PARK UNIVERSITY CITY
## [65] PAGEDALE COUNTRY CLUB HILLS
## [67] CHESTERFIELD SYCAMORE HILLS
## [69] CHARLACK OVERLAND
## [71] COOL VALLEY FERGUSON
## [73] FLORDELL HILLS JENNINGS
## [75] KIRKWOOD MARLBOROUGH
## [77] SHREWSBURY CLARKSON VALLEY
## [79] CRESTWOOD ST. ANN
## [81] DES PERES TOWN & COUNTRY
## [83] WESTWOOD CREVE COEUR
## [85] MARYLAND HEIGHTS BRIDGETON
## [87] ELLISVILLE BALLWIN
## [89] WILDWOOD FLORISSANT
## [91] VALLEY PARK
## 91 Levels: BALLWIN BEL-NOR BEL-RIDGE ... WOODSON TERRACE
stlco[stlco@data$MUNICIPALI=="FERGUSON",]
## An object of class "SpatialPolygonsDataFrame"
## Slot "data":
## OBJECTID MUNICIPALI MUNI MUNICODE SQ_MILES last_edite
## 102 103 FERGUSON FER 022 6.159777 2015-12-30T19:09:14.000Z
## GlobalID
## 102 {BF00288A-B4E5-4CE6-97BC-A149A6BD692B}
##
## Slot "polygons":
## [[1]]
## An object of class "Polygons"
## Slot "Polygons":
## [[1]]
## An object of class "Polygon"
## Slot "labpt":
## [1] -90.29501 38.74890
##
## Slot "area":
## [1] 0.00165345
##
## Slot "hole":
## [1] FALSE
##
## Slot "ringDir":
## [1] 1
##
## Slot "coords":
## [,1] [,2]
## [1,] -90.26053 38.77061
## [2,] -90.26028 38.76928
## [3,] -90.26024 38.76908
## [4,] -90.26021 38.76891
## [5,] -90.26019 38.76876
## [6,] -90.26012 38.76838
## [7,] -90.26005 38.76785
## [8,] -90.25999 38.76750
## [9,] -90.25992 38.76717
## [10,] -90.25991 38.76713
## [11,] -90.25977 38.76659
## [12,] -90.25977 38.76657
## [13,] -90.25975 38.76649
## [14,] -90.25964 38.76598
## [15,] -90.25963 38.76596
## [16,] -90.25963 38.76595
## [17,] -90.25961 38.76588
## [18,] -90.25960 38.76584
## [19,] -90.25933 38.76479
## [20,] -90.25927 38.76458
## [21,] -90.25925 38.76449
## [22,] -90.25918 38.76421
## [23,] -90.25912 38.76395
## [24,] -90.25919 38.76395
## [25,] -90.25932 38.76395
## [26,] -90.25936 38.76395
## [27,] -90.25955 38.76396
## [28,] -90.25969 38.76396
## [29,] -90.26004 38.76396
## [30,] -90.26107 38.76398
## [31,] -90.26157 38.76399
## [32,] -90.26260 38.76400
## [33,] -90.26273 38.76401
## [34,] -90.26274 38.76401
## [35,] -90.26308 38.76401
## [36,] -90.26345 38.76402
## [37,] -90.26376 38.76402
## [38,] -90.26405 38.76403
## [39,] -90.26441 38.76403
## [40,] -90.26499 38.76404
## [41,] -90.26557 38.76405
## [42,] -90.26595 38.76406
## [43,] -90.26644 38.76406
## [44,] -90.26645 38.76407
## [45,] -90.26804 38.76409
## [46,] -90.26826 38.76409
## [47,] -90.26849 38.76410
## [48,] -90.26849 38.76410
## [49,] -90.26870 38.76410
## [50,] -90.26872 38.76410
## [51,] -90.26872 38.76410
## [52,] -90.26872 38.76411
## [53,] -90.26871 38.76431
## [54,] -90.26870 38.76447
## [55,] -90.26869 38.76453
## [56,] -90.26870 38.76462
## [57,] -90.26870 38.76489
## [58,] -90.26870 38.76518
## [59,] -90.26871 38.76555
## [60,] -90.26871 38.76592
## [61,] -90.26872 38.76628
## [62,] -90.26872 38.76665
## [63,] -90.26873 38.76723
## [64,] -90.26873 38.76737
## [65,] -90.26873 38.76826
## [66,] -90.26873 38.76837
## [67,] -90.26873 38.76872
## [68,] -90.26874 38.76906
## [69,] -90.26876 38.76906
## [70,] -90.26918 38.76906
## [71,] -90.26935 38.76907
## [72,] -90.26945 38.76907
## [73,] -90.26949 38.76907
## [74,] -90.26971 38.76907
## [75,] -90.26986 38.76907
## [76,] -90.26992 38.76907
## [77,] -90.27010 38.76908
## [78,] -90.27116 38.76909
## [79,] -90.27123 38.76909
## [80,] -90.27133 38.76909
## [81,] -90.27182 38.76910
## [82,] -90.27353 38.76912
## [83,] -90.27357 38.76912
## [84,] -90.27357 38.76840
## [85,] -90.27357 38.76830
## [86,] -90.27358 38.76803
## [87,] -90.27358 38.76765
## [88,] -90.27358 38.76728
## [89,] -90.27358 38.76691
## [90,] -90.27358 38.76654
## [91,] -90.27359 38.76649
## [92,] -90.27359 38.76648
## [93,] -90.27410 38.76649
## [94,] -90.27462 38.76650
## [95,] -90.27462 38.76625
## [96,] -90.27462 38.76604
## [97,] -90.27462 38.76580
## [98,] -90.27461 38.76557
## [99,] -90.27461 38.76523
## [100,] -90.27461 38.76489
## [101,] -90.27461 38.76488
## [102,] -90.27461 38.76455
## [103,] -90.27461 38.76454
## [104,] -90.27520 38.76454
## [105,] -90.27573 38.76454
## [106,] -90.27603 38.76454
## [107,] -90.27604 38.76454
## [108,] -90.27605 38.76454
## [109,] -90.27605 38.76437
## [110,] -90.27605 38.76421
## [111,] -90.27605 38.76421
## [112,] -90.27605 38.76419
## [113,] -90.27609 38.76419
## [114,] -90.27680 38.76420
## [115,] -90.27706 38.76420
## [116,] -90.27795 38.76422
## [117,] -90.27796 38.76422
## [118,] -90.27811 38.76422
## [119,] -90.27820 38.76423
## [120,] -90.27823 38.76423
## [121,] -90.27933 38.76425
## [122,] -90.27934 38.76425
## [123,] -90.27956 38.76425
## [124,] -90.27969 38.76425
## [125,] -90.27971 38.76425
## [126,] -90.27971 38.76425
## [127,] -90.27972 38.76398
## [128,] -90.27972 38.76384
## [129,] -90.27972 38.76384
## [130,] -90.27972 38.76369
## [131,] -90.27973 38.76340
## [132,] -90.27974 38.76269
## [133,] -90.27974 38.76255
## [134,] -90.27975 38.76248
## [135,] -90.27975 38.76247
## [136,] -90.27976 38.76166
## [137,] -90.27977 38.76094
## [138,] -90.27978 38.76087
## [139,] -90.27978 38.76077
## [140,] -90.27978 38.76051
## [141,] -90.27979 38.76036
## [142,] -90.27979 38.76035
## [143,] -90.27979 38.76004
## [144,] -90.27982 38.75842
## [145,] -90.27987 38.75744
## [146,] -90.27990 38.75744
## [147,] -90.27991 38.75744
## [148,] -90.27992 38.75680
## [149,] -90.27992 38.75679
## [150,] -90.27993 38.75657
## [151,] -90.27993 38.75656
## [152,] -90.27993 38.75634
## [153,] -90.27993 38.75633
## [154,] -90.27993 38.75633
## [155,] -90.28056 38.75632
## [156,] -90.28199 38.75630
## [157,] -90.28226 38.75630
## [158,] -90.28264 38.75630
## [159,] -90.28291 38.75629
## [160,] -90.28328 38.75629
## [161,] -90.28388 38.75628
## [162,] -90.28402 38.75628
## [163,] -90.28404 38.75628
## [164,] -90.28450 38.75628
## [165,] -90.28495 38.75627
## [166,] -90.28534 38.75627
## [167,] -90.28571 38.75626
## [168,] -90.28604 38.75626
## [169,] -90.28644 38.75625
## [170,] -90.28715 38.75624
## [171,] -90.28842 38.75623
## [172,] -90.28849 38.75608
## [173,] -90.28853 38.75608
## [174,] -90.28872 38.75608
## [175,] -90.28873 38.75608
## [176,] -90.28879 38.75613
## [177,] -90.28899 38.75627
## [178,] -90.28900 38.75627
## [179,] -90.28905 38.75631
## [180,] -90.28910 38.75635
## [181,] -90.28993 38.75568
## [182,] -90.29005 38.75558
## [183,] -90.29006 38.75557
## [184,] -90.29013 38.75552
## [185,] -90.29021 38.75545
## [186,] -90.29051 38.75521
## [187,] -90.29056 38.75517
## [188,] -90.29059 38.75514
## [189,] -90.29065 38.75509
## [190,] -90.29070 38.75504
## [191,] -90.29075 38.75500
## [192,] -90.29079 38.75497
## [193,] -90.29087 38.75489
## [194,] -90.29087 38.75489
## [195,] -90.29087 38.75483
## [196,] -90.29087 38.75480
## [197,] -90.29086 38.75477
## [198,] -90.29082 38.75470
## [199,] -90.29077 38.75462
## [200,] -90.29073 38.75455
## [201,] -90.29067 38.75447
## [202,] -90.29066 38.75443
## [203,] -90.29064 38.75437
## [204,] -90.29063 38.75430
## [205,] -90.29061 38.75424
## [206,] -90.29060 38.75421
## [207,] -90.29061 38.75418
## [208,] -90.29075 38.75409
## [209,] -90.29088 38.75399
## [210,] -90.29088 38.75399
## [211,] -90.29083 38.75399
## [212,] -90.29082 38.75399
## [213,] -90.29027 38.75399
## [214,] -90.29010 38.75399
## [215,] -90.29008 38.75399
## [216,] -90.28994 38.75399
## [217,] -90.28987 38.75399
## [218,] -90.28923 38.75398
## [219,] -90.28898 38.75398
## [220,] -90.28881 38.75398
## [221,] -90.28878 38.75398
## [222,] -90.28857 38.75398
## [223,] -90.28840 38.75397
## [224,] -90.28803 38.75397
## [225,] -90.28778 38.75397
## [226,] -90.28757 38.75397
## [227,] -90.28734 38.75398
## [228,] -90.28730 38.75398
## [229,] -90.28722 38.75398
## [230,] -90.28685 38.75398
## [231,] -90.28666 38.75398
## [232,] -90.28656 38.75398
## [233,] -90.28627 38.75399
## [234,] -90.28626 38.75399
## [235,] -90.28627 38.75275
## [236,] -90.28627 38.75262
## [237,] -90.28627 38.75257
## [238,] -90.28627 38.75233
## [239,] -90.28627 38.75233
## [240,] -90.28627 38.75217
## [241,] -90.28627 38.75195
## [242,] -90.28627 38.75171
## [243,] -90.28627 38.75122
## [244,] -90.28628 38.75091
## [245,] -90.28628 38.75080
## [246,] -90.28629 38.75000
## [247,] -90.28629 38.74954
## [248,] -90.28631 38.74944
## [249,] -90.28631 38.74943
## [250,] -90.28634 38.74933
## [251,] -90.28634 38.74932
## [252,] -90.28630 38.74906
## [253,] -90.28623 38.74862
## [254,] -90.28616 38.74815
## [255,] -90.28610 38.74775
## [256,] -90.28610 38.74773
## [257,] -90.28596 38.74683
## [258,] -90.28596 38.74680
## [259,] -90.28589 38.74633
## [260,] -90.28583 38.74595
## [261,] -90.28582 38.74588
## [262,] -90.28575 38.74542
## [263,] -90.28569 38.74498
## [264,] -90.28565 38.74477
## [265,] -90.28565 38.74476
## [266,] -90.28563 38.74467
## [267,] -90.28562 38.74464
## [268,] -90.28558 38.74451
## [269,] -90.28556 38.74440
## [270,] -90.28551 38.74405
## [271,] -90.28551 38.74404
## [272,] -90.28548 38.74405
## [273,] -90.28530 38.74407
## [274,] -90.28469 38.74413
## [275,] -90.28434 38.74416
## [276,] -90.28403 38.74420
## [277,] -90.28398 38.74420
## [278,] -90.28359 38.74424
## [279,] -90.28327 38.74427
## [280,] -90.28291 38.74431
## [281,] -90.28285 38.74432
## [282,] -90.28265 38.74434
## [283,] -90.28265 38.74434
## [284,] -90.28265 38.74434
## [285,] -90.28259 38.74434
## [286,] -90.28238 38.74436
## [287,] -90.28238 38.74436
## [288,] -90.28214 38.74439
## [289,] -90.28179 38.74442
## [290,] -90.28162 38.74443
## [291,] -90.28149 38.74444
## [292,] -90.28093 38.74449
## [293,] -90.28078 38.74450
## [294,] -90.28078 38.74450
## [295,] -90.28075 38.74450
## [296,] -90.28067 38.74451
## [297,] -90.28053 38.74452
## [298,] -90.28027 38.74454
## [299,] -90.28027 38.74454
## [300,] -90.28025 38.74454
## [301,] -90.28010 38.74455
## [302,] -90.27985 38.74457
## [303,] -90.27964 38.74459
## [304,] -90.27958 38.74460
## [305,] -90.27952 38.74460
## [306,] -90.27940 38.74461
## [307,] -90.27923 38.74464
## [308,] -90.27921 38.74464
## [309,] -90.27906 38.74467
## [310,] -90.27901 38.74467
## [311,] -90.27856 38.74472
## [312,] -90.27625 38.74495
## [313,] -90.27625 38.74495
## [314,] -90.27625 38.74495
## [315,] -90.27619 38.74459
## [316,] -90.27619 38.74456
## [317,] -90.27600 38.74337
## [318,] -90.27588 38.74264
## [319,] -90.27566 38.74128
## [320,] -90.27563 38.74108
## [321,] -90.27563 38.74105
## [322,] -90.27557 38.74109
## [323,] -90.27539 38.74119
## [324,] -90.27475 38.74155
## [325,] -90.27424 38.74181
## [326,] -90.27408 38.74189
## [327,] -90.27393 38.74196
## [328,] -90.27391 38.74197
## [329,] -90.27385 38.74200
## [330,] -90.27381 38.74202
## [331,] -90.27377 38.74204
## [332,] -90.27373 38.74205
## [333,] -90.27369 38.74207
## [334,] -90.27353 38.74214
## [335,] -90.27349 38.74216
## [336,] -90.27337 38.74222
## [337,] -90.27309 38.74234
## [338,] -90.27305 38.74236
## [339,] -90.27303 38.74237
## [340,] -90.27291 38.74241
## [341,] -90.27268 38.74250
## [342,] -90.27267 38.74251
## [343,] -90.27245 38.74259
## [344,] -90.27225 38.74266
## [345,] -90.27218 38.74269
## [346,] -90.27218 38.74269
## [347,] -90.27218 38.74269
## [348,] -90.27206 38.74273
## [349,] -90.27155 38.74289
## [350,] -90.27151 38.74290
## [351,] -90.27151 38.74290
## [352,] -90.27151 38.74290
## [353,] -90.27147 38.74291
## [354,] -90.27115 38.74300
## [355,] -90.27106 38.74302
## [356,] -90.27088 38.74307
## [357,] -90.27082 38.74308
## [358,] -90.27080 38.74308
## [359,] -90.27078 38.74309
## [360,] -90.27063 38.74312
## [361,] -90.27013 38.74321
## [362,] -90.27007 38.74322
## [363,] -90.27004 38.74323
## [364,] -90.26986 38.74325
## [365,] -90.26966 38.74328
## [366,] -90.26947 38.74330
## [367,] -90.26937 38.74331
## [368,] -90.26926 38.74333
## [369,] -90.26926 38.74333
## [370,] -90.26925 38.74321
## [371,] -90.26921 38.74295
## [372,] -90.26917 38.74269
## [373,] -90.26907 38.74208
## [374,] -90.26901 38.74170
## [375,] -90.26901 38.74169
## [376,] -90.26871 38.74172
## [377,] -90.26849 38.74174
## [378,] -90.26848 38.74174
## [379,] -90.26836 38.74176
## [380,] -90.26815 38.74178
## [381,] -90.26727 38.74187
## [382,] -90.26594 38.74202
## [383,] -90.26548 38.74207
## [384,] -90.26540 38.74207
## [385,] -90.26515 38.74210
## [386,] -90.26514 38.74210
## [387,] -90.26505 38.74158
## [388,] -90.26493 38.74083
## [389,] -90.26493 38.74082
## [390,] -90.26491 38.74073
## [391,] -90.26491 38.74073
## [392,] -90.26491 38.74073
## [393,] -90.26491 38.74072
## [394,] -90.26478 38.73995
## [395,] -90.26468 38.73935
## [396,] -90.26467 38.73926
## [397,] -90.26460 38.73885
## [398,] -90.26460 38.73884
## [399,] -90.26460 38.73884
## [400,] -90.26458 38.73872
## [401,] -90.26454 38.73844
## [402,] -90.26455 38.73844
## [403,] -90.26456 38.73844
## [404,] -90.26544 38.73835
## [405,] -90.26565 38.73832
## [406,] -90.26589 38.73830
## [407,] -90.26598 38.73829
## [408,] -90.26656 38.73823
## [409,] -90.26701 38.73818
## [410,] -90.26824 38.73805
## [411,] -90.26844 38.73802
## [412,] -90.26844 38.73802
## [413,] -90.26843 38.73796
## [414,] -90.26843 38.73795
## [415,] -90.26831 38.73732
## [416,] -90.26826 38.73702
## [417,] -90.26825 38.73693
## [418,] -90.26824 38.73693
## [419,] -90.26824 38.73692
## [420,] -90.26825 38.73692
## [421,] -90.26827 38.73692
## [422,] -90.26848 38.73690
## [423,] -90.26905 38.73684
## [424,] -90.26912 38.73684
## [425,] -90.26989 38.73676
## [426,] -90.27001 38.73674
## [427,] -90.27090 38.73665
## [428,] -90.27095 38.73465
## [429,] -90.27095 38.73464
## [430,] -90.27239 38.73465
## [431,] -90.27400 38.73466
## [432,] -90.27461 38.73466
## [433,] -90.27473 38.73466
## [434,] -90.27520 38.73466
## [435,] -90.27558 38.73466
## [436,] -90.27716 38.73466
## [437,] -90.27717 38.73466
## [438,] -90.27763 38.73466
## [439,] -90.27766 38.73466
## [440,] -90.27762 38.73435
## [441,] -90.27755 38.73386
## [442,] -90.27740 38.73305
## [443,] -90.27734 38.73241
## [444,] -90.27734 38.73240
## [445,] -90.27733 38.73230
## [446,] -90.27732 38.73220
## [447,] -90.27732 38.73200
## [448,] -90.27732 38.73187
## [449,] -90.27732 38.73185
## [450,] -90.27732 38.73178
## [451,] -90.27734 38.73165
## [452,] -90.27735 38.73155
## [453,] -90.27736 38.73140
## [454,] -90.27738 38.73122
## [455,] -90.27738 38.73122
## [456,] -90.27743 38.73086
## [457,] -90.27746 38.73063
## [458,] -90.27750 38.73039
## [459,] -90.27755 38.73005
## [460,] -90.27759 38.72981
## [461,] -90.27763 38.72951
## [462,] -90.27764 38.72945
## [463,] -90.27764 38.72942
## [464,] -90.27764 38.72936
## [465,] -90.27764 38.72927
## [466,] -90.27764 38.72920
## [467,] -90.27764 38.72912
## [468,] -90.27764 38.72905
## [469,] -90.27764 38.72899
## [470,] -90.27761 38.72891
## [471,] -90.27760 38.72886
## [472,] -90.27752 38.72874
## [473,] -90.27736 38.72847
## [474,] -90.27725 38.72828
## [475,] -90.27725 38.72828
## [476,] -90.27724 38.72828
## [477,] -90.27723 38.72824
## [478,] -90.27722 38.72820
## [479,] -90.27721 38.72815
## [480,] -90.27715 38.72808
## [481,] -90.27706 38.72796
## [482,] -90.27687 38.72773
## [483,] -90.27679 38.72762
## [484,] -90.27678 38.72761
## [485,] -90.27675 38.72757
## [486,] -90.27669 38.72748
## [487,] -90.27659 38.72733
## [488,] -90.27660 38.72733
## [489,] -90.27676 38.72733
## [490,] -90.27678 38.72733
## [491,] -90.27682 38.72733
## [492,] -90.27804 38.72732
## [493,] -90.28012 38.72731
## [494,] -90.28025 38.72731
## [495,] -90.28052 38.72731
## [496,] -90.28052 38.72731
## [497,] -90.28052 38.72731
## [498,] -90.28077 38.72731
## [499,] -90.28150 38.72731
## [500,] -90.28150 38.72731
## [501,] -90.28297 38.72731
## [502,] -90.28420 38.72732
## [503,] -90.28518 38.72732
## [504,] -90.28519 38.72732
## [505,] -90.28664 38.72732
## [506,] -90.28671 38.72732
## [507,] -90.28788 38.72733
## [508,] -90.28865 38.72733
## [509,] -90.28990 38.72733
## [510,] -90.28991 38.72692
## [511,] -90.28991 38.72635
## [512,] -90.28992 38.72634
## [513,] -90.28992 38.72549
## [514,] -90.28993 38.72514
## [515,] -90.28993 38.72506
## [516,] -90.29259 38.72509
## [517,] -90.29259 38.72509
## [518,] -90.29259 38.72510
## [519,] -90.29265 38.72537
## [520,] -90.29266 38.72539
## [521,] -90.29266 38.72542
## [522,] -90.29275 38.72582
## [523,] -90.29277 38.72591
## [524,] -90.29283 38.72618
## [525,] -90.29286 38.72632
## [526,] -90.29291 38.72656
## [527,] -90.29297 38.72683
## [528,] -90.29300 38.72696
## [529,] -90.29308 38.72732
## [530,] -90.29306 38.72738
## [531,] -90.29305 38.72744
## [532,] -90.29313 38.72762
## [533,] -90.29321 38.72783
## [534,] -90.29322 38.72784
## [535,] -90.29324 38.72789
## [536,] -90.29328 38.72798
## [537,] -90.29329 38.72800
## [538,] -90.29330 38.72804
## [539,] -90.29338 38.72823
## [540,] -90.29345 38.72838
## [541,] -90.29348 38.72846
## [542,] -90.29349 38.72848
## [543,] -90.29356 38.72865
## [544,] -90.29357 38.72866
## [545,] -90.29359 38.72872
## [546,] -90.29369 38.72895
## [547,] -90.29370 38.72897
## [548,] -90.29378 38.72916
## [549,] -90.29385 38.72932
## [550,] -90.29385 38.72932
## [551,] -90.29385 38.72933
## [552,] -90.29398 38.72963
## [553,] -90.29398 38.72964
## [554,] -90.29406 38.72981
## [555,] -90.29413 38.72998
## [556,] -90.29422 38.73019
## [557,] -90.29424 38.73023
## [558,] -90.29429 38.73034
## [559,] -90.29430 38.73037
## [560,] -90.29438 38.73056
## [561,] -90.29438 38.73057
## [562,] -90.29438 38.73057
## [563,] -90.29446 38.73071
## [564,] -90.29460 38.73097
## [565,] -90.29469 38.73113
## [566,] -90.29479 38.73131
## [567,] -90.29487 38.73147
## [568,] -90.29488 38.73148
## [569,] -90.29492 38.73155
## [570,] -90.29500 38.73169
## [571,] -90.29529 38.73164
## [572,] -90.29534 38.73164
## [573,] -90.29548 38.73161
## [574,] -90.29549 38.73161
## [575,] -90.29568 38.73156
## [576,] -90.29570 38.73156
## [577,] -90.29598 38.73149
## [578,] -90.29627 38.73142
## [579,] -90.29647 38.73137
## [580,] -90.29654 38.73135
## [581,] -90.29674 38.73131
## [582,] -90.29702 38.73124
## [583,] -90.29703 38.73124
## [584,] -90.29703 38.73123
## [585,] -90.29719 38.73120
## [586,] -90.29720 38.73119
## [587,] -90.29726 38.73118
## [588,] -90.29755 38.73110
## [589,] -90.29780 38.73104
## [590,] -90.29790 38.73102
## [591,] -90.29807 38.73097
## [592,] -90.29809 38.73097
## [593,] -90.29811 38.73090
## [594,] -90.29812 38.73089
## [595,] -90.29820 38.73065
## [596,] -90.29826 38.73050
## [597,] -90.29830 38.73038
## [598,] -90.29837 38.73020
## [599,] -90.29853 38.72973
## [600,] -90.29854 38.72970
## [601,] -90.29858 38.72959
## [602,] -90.29859 38.72959
## [603,] -90.29863 38.72958
## [604,] -90.29906 38.72948
## [605,] -90.29925 38.72944
## [606,] -90.29939 38.72940
## [607,] -90.29956 38.72936
## [608,] -90.29959 38.72936
## [609,] -90.29971 38.72933
## [610,] -90.29976 38.72932
## [611,] -90.29976 38.72932
## [612,] -90.29984 38.72945
## [613,] -90.30103 38.72986
## [614,] -90.30115 38.72990
## [615,] -90.30119 38.72991
## [616,] -90.30122 38.72992
## [617,] -90.30166 38.73007
## [618,] -90.30185 38.73008
## [619,] -90.30191 38.73008
## [620,] -90.30194 38.73008
## [621,] -90.30194 38.73016
## [622,] -90.30193 38.73032
## [623,] -90.30193 38.73036
## [624,] -90.30194 38.73036
## [625,] -90.30256 38.73044
## [626,] -90.30303 38.73050
## [627,] -90.30304 38.73050
## [628,] -90.30369 38.73058
## [629,] -90.30382 38.73059
## [630,] -90.30402 38.73061
## [631,] -90.30418 38.73063
## [632,] -90.30436 38.73065
## [633,] -90.30515 38.73073
## [634,] -90.30564 38.73079
## [635,] -90.30609 38.73083
## [636,] -90.30642 38.73087
## [637,] -90.30663 38.73089
## [638,] -90.30694 38.73093
## [639,] -90.30736 38.73097
## [640,] -90.30740 38.73098
## [641,] -90.30742 38.73098
## [642,] -90.30743 38.73098
## [643,] -90.30744 38.73098
## [644,] -90.30747 38.73099
## [645,] -90.30751 38.73099
## [646,] -90.30818 38.73111
## [647,] -90.30847 38.73115
## [648,] -90.30893 38.73123
## [649,] -90.30932 38.73130
## [650,] -90.30969 38.73136
## [651,] -90.30976 38.73137
## [652,] -90.30977 38.73138
## [653,] -90.30977 38.73138
## [654,] -90.30978 38.73124
## [655,] -90.30978 38.73106
## [656,] -90.30978 38.73105
## [657,] -90.30978 38.73093
## [658,] -90.30978 38.73067
## [659,] -90.30978 38.73063
## [660,] -90.30979 38.73058
## [661,] -90.30979 38.73033
## [662,] -90.30979 38.73013
## [663,] -90.30980 38.72990
## [664,] -90.30981 38.72944
## [665,] -90.30981 38.72927
## [666,] -90.30981 38.72913
## [667,] -90.30982 38.72899
## [668,] -90.30982 38.72898
## [669,] -90.30984 38.72835
## [670,] -90.30984 38.72815
## [671,] -90.30984 38.72815
## [672,] -90.30984 38.72806
## [673,] -90.30985 38.72790
## [674,] -90.30985 38.72777
## [675,] -90.30986 38.72759
## [676,] -90.30986 38.72759
## [677,] -90.30987 38.72735
## [678,] -90.30987 38.72735
## [679,] -90.31025 38.72735
## [680,] -90.31052 38.72735
## [681,] -90.31110 38.72735
## [682,] -90.31173 38.72736
## [683,] -90.31231 38.72736
## [684,] -90.31231 38.72737
## [685,] -90.31232 38.72737
## [686,] -90.31295 38.72966
## [687,] -90.31301 38.72965
## [688,] -90.31875 38.72869
## [689,] -90.31875 38.72873
## [690,] -90.31884 38.72963
## [691,] -90.31888 38.72997
## [692,] -90.31888 38.72998
## [693,] -90.31888 38.72998
## [694,] -90.31888 38.72998
## [695,] -90.31899 38.73110
## [696,] -90.31900 38.73125
## [697,] -90.31900 38.73125
## [698,] -90.31900 38.73125
## [699,] -90.31900 38.73128
## [700,] -90.31881 38.73134
## [701,] -90.31828 38.73153
## [702,] -90.31828 38.73153
## [703,] -90.31829 38.73214
## [704,] -90.31829 38.73228
## [705,] -90.31830 38.73265
## [706,] -90.31830 38.73292
## [707,] -90.31830 38.73300
## [708,] -90.31830 38.73308
## [709,] -90.31830 38.73320
## [710,] -90.31830 38.73328
## [711,] -90.31829 38.73382
## [712,] -90.31829 38.73388
## [713,] -90.31829 38.73394
## [714,] -90.31828 38.73425
## [715,] -90.31828 38.73434
## [716,] -90.31828 38.73463
## [717,] -90.31828 38.73471
## [718,] -90.31828 38.73472
## [719,] -90.31827 38.73506
## [720,] -90.31827 38.73507
## [721,] -90.31827 38.73507
## [722,] -90.31827 38.73547
## [723,] -90.31827 38.73548
## [724,] -90.31826 38.73571
## [725,] -90.31825 38.73647
## [726,] -90.31824 38.73704
## [727,] -90.31823 38.73775
## [728,] -90.31823 38.73777
## [729,] -90.31823 38.73796
## [730,] -90.31822 38.73864
## [731,] -90.31822 38.73872
## [732,] -90.31821 38.74060
## [733,] -90.31820 38.74161
## [734,] -90.31819 38.74220
## [735,] -90.31819 38.74221
## [736,] -90.31819 38.74222
## [737,] -90.31819 38.74222
## [738,] -90.31819 38.74249
## [739,] -90.31819 38.74249
## [740,] -90.31819 38.74342
## [741,] -90.31819 38.74411
## [742,] -90.31819 38.74417
## [743,] -90.31820 38.74421
## [744,] -90.31820 38.74424
## [745,] -90.31897 38.74426
## [746,] -90.31897 38.74471
## [747,] -90.31897 38.74574
## [748,] -90.31905 38.74574
## [749,] -90.31905 38.74574
## [750,] -90.31908 38.74574
## [751,] -90.31909 38.74574
## [752,] -90.31909 38.74574
## [753,] -90.31900 38.75192
## [754,] -90.31900 38.75193
## [755,] -90.31897 38.75388
## [756,] -90.31893 38.75616
## [757,] -90.31893 38.75619
## [758,] -90.31893 38.75663
## [759,] -90.31889 38.75948
## [760,] -90.31889 38.75982
## [761,] -90.31889 38.76025
## [762,] -90.31889 38.76041
## [763,] -90.31889 38.76046
## [764,] -90.31889 38.76058
## [765,] -90.31886 38.76186
## [766,] -90.31886 38.76205
## [767,] -90.31886 38.76219
## [768,] -90.31881 38.76218
## [769,] -90.31879 38.76218
## [770,] -90.31879 38.76218
## [771,] -90.31872 38.76216
## [772,] -90.31862 38.76214
## [773,] -90.31846 38.76210
## [774,] -90.31830 38.76206
## [775,] -90.31829 38.76206
## [776,] -90.31829 38.76206
## [777,] -90.31816 38.76203
## [778,] -90.31813 38.76203
## [779,] -90.31813 38.76202
## [780,] -90.31812 38.76202
## [781,] -90.31796 38.76199
## [782,] -90.31795 38.76198
## [783,] -90.31791 38.76197
## [784,] -90.31779 38.76195
## [785,] -90.31779 38.76195
## [786,] -90.31764 38.76191
## [787,] -90.31762 38.76191
## [788,] -90.31762 38.76191
## [789,] -90.31750 38.76188
## [790,] -90.31745 38.76187
## [791,] -90.31744 38.76187
## [792,] -90.31728 38.76183
## [793,] -90.31711 38.76179
## [794,] -90.31673 38.76170
## [795,] -90.31602 38.76154
## [796,] -90.31601 38.76154
## [797,] -90.31593 38.76152
## [798,] -90.31580 38.76149
## [799,] -90.31580 38.76149
## [800,] -90.31517 38.76135
## [801,] -90.31440 38.76117
## [802,] -90.31403 38.76109
## [803,] -90.31403 38.76109
## [804,] -90.31363 38.76100
## [805,] -90.31354 38.76098
## [806,] -90.31341 38.76095
## [807,] -90.31322 38.76090
## [808,] -90.31272 38.76079
## [809,] -90.31255 38.76075
## [810,] -90.31254 38.76074
## [811,] -90.31254 38.76074
## [812,] -90.31242 38.76072
## [813,] -90.31239 38.76071
## [814,] -90.31226 38.76068
## [815,] -90.31225 38.76068
## [816,] -90.31221 38.76067
## [817,] -90.31221 38.76067
## [818,] -90.31219 38.76066
## [819,] -90.31215 38.76065
## [820,] -90.31214 38.76065
## [821,] -90.31213 38.76065
## [822,] -90.31211 38.76064
## [823,] -90.31210 38.76064
## [824,] -90.31202 38.76062
## [825,] -90.31202 38.76062
## [826,] -90.31200 38.76062
## [827,] -90.31180 38.76057
## [828,] -90.31171 38.76055
## [829,] -90.31159 38.76052
## [830,] -90.31157 38.76052
## [831,] -90.31147 38.76057
## [832,] -90.31146 38.76057
## [833,] -90.31146 38.76057
## [834,] -90.31145 38.76058
## [835,] -90.31134 38.76064
## [836,] -90.31235 38.76187
## [837,] -90.31235 38.76187
## [838,] -90.31288 38.76251
## [839,] -90.31296 38.76260
## [840,] -90.31295 38.76260
## [841,] -90.31290 38.76260
## [842,] -90.31198 38.76249
## [843,] -90.31171 38.76246
## [844,] -90.31095 38.76238
## [845,] -90.31012 38.76229
## [846,] -90.31007 38.76229
## [847,] -90.30959 38.76224
## [848,] -90.30885 38.76216
## [849,] -90.30877 38.76215
## [850,] -90.30876 38.76215
## [851,] -90.30835 38.76211
## [852,] -90.30827 38.76210
## [853,] -90.30794 38.76207
## [854,] -90.30774 38.76205
## [855,] -90.30714 38.76199
## [856,] -90.30666 38.76194
## [857,] -90.30609 38.76188
## [858,] -90.30605 38.76188
## [859,] -90.30604 38.76188
## [860,] -90.30604 38.76188
## [861,] -90.30600 38.76187
## [862,] -90.30549 38.76182
## [863,] -90.30495 38.76176
## [864,] -90.30479 38.76174
## [865,] -90.30473 38.76173
## [866,] -90.30470 38.76173
## [867,] -90.30466 38.76173
## [868,] -90.30406 38.76168
## [869,] -90.30348 38.76163
## [870,] -90.30299 38.76159
## [871,] -90.30299 38.76160
## [872,] -90.30298 38.76164
## [873,] -90.30296 38.76177
## [874,] -90.30290 38.76213
## [875,] -90.30283 38.76252
## [876,] -90.30283 38.76252
## [877,] -90.30276 38.76290
## [878,] -90.30275 38.76294
## [879,] -90.30269 38.76328
## [880,] -90.30269 38.76329
## [881,] -90.30262 38.76368
## [882,] -90.30255 38.76407
## [883,] -90.30255 38.76408
## [884,] -90.30251 38.76432
## [885,] -90.30249 38.76446
## [886,] -90.30248 38.76451
## [887,] -90.30242 38.76486
## [888,] -90.30238 38.76511
## [889,] -90.30235 38.76525
## [890,] -90.30229 38.76564
## [891,] -90.30214 38.76654
## [892,] -90.30213 38.76654
## [893,] -90.30211 38.76655
## [894,] -90.30204 38.76659
## [895,] -90.30202 38.76659
## [896,] -90.30183 38.76669
## [897,] -90.30155 38.76682
## [898,] -90.30143 38.76688
## [899,] -90.30196 38.76746
## [900,] -90.30209 38.76761
## [901,] -90.30252 38.76807
## [902,] -90.30290 38.76849
## [903,] -90.30304 38.76864
## [904,] -90.30304 38.76864
## [905,] -90.30304 38.76865
## [906,] -90.30304 38.76865
## [907,] -90.30310 38.76871
## [908,] -90.30336 38.76899
## [909,] -90.30337 38.76901
## [910,] -90.30350 38.76915
## [911,] -90.30391 38.76960
## [912,] -90.30399 38.76969
## [913,] -90.30401 38.76972
## [914,] -90.30410 38.76981
## [915,] -90.30434 38.77008
## [916,] -90.30437 38.77012
## [917,] -90.30467 38.77046
## [918,] -90.30472 38.77052
## [919,] -90.30480 38.77048
## [920,] -90.30532 38.77019
## [921,] -90.30533 38.77019
## [922,] -90.30533 38.77019
## [923,] -90.30533 38.77018
## [924,] -90.30519 38.77003
## [925,] -90.30519 38.77002
## [926,] -90.30523 38.77000
## [927,] -90.30531 38.76996
## [928,] -90.30538 38.77005
## [929,] -90.30546 38.77014
## [930,] -90.30547 38.77016
## [931,] -90.30576 38.77050
## [932,] -90.30623 38.77104
## [933,] -90.30652 38.77138
## [934,] -90.30677 38.77168
## [935,] -90.30684 38.77176
## [936,] -90.30722 38.77220
## [937,] -90.30725 38.77224
## [938,] -90.30747 38.77250
## [939,] -90.30751 38.77254
## [940,] -90.30623 38.77242
## [941,] -90.30422 38.77221
## [942,] -90.30269 38.77205
## [943,] -90.30119 38.77189
## [944,] -90.30088 38.77186
## [945,] -90.30084 38.77186
## [946,] -90.30048 38.77182
## [947,] -90.29945 38.77172
## [948,] -90.29908 38.77169
## [949,] -90.29901 38.77169
## [950,] -90.29821 38.77162
## [951,] -90.29760 38.77158
## [952,] -90.29655 38.77151
## [953,] -90.29606 38.77148
## [954,] -90.29487 38.77142
## [955,] -90.29464 38.77142
## [956,] -90.29389 38.77139
## [957,] -90.29380 38.77139
## [958,] -90.29328 38.77137
## [959,] -90.29288 38.77136
## [960,] -90.29159 38.77133
## [961,] -90.28826 38.77125
## [962,] -90.28498 38.77117
## [963,] -90.28397 38.77115
## [964,] -90.28165 38.77110
## [965,] -90.27998 38.77106
## [966,] -90.27996 38.77106
## [967,] -90.27948 38.77105
## [968,] -90.27936 38.77104
## [969,] -90.27935 38.77104
## [970,] -90.27925 38.77104
## [971,] -90.27839 38.77102
## [972,] -90.27713 38.77099
## [973,] -90.27523 38.77095
## [974,] -90.27474 38.77094
## [975,] -90.27193 38.77090
## [976,] -90.27140 38.77090
## [977,] -90.27039 38.77088
## [978,] -90.26946 38.77087
## [979,] -90.26941 38.77087
## [980,] -90.26877 38.77087
## [981,] -90.26803 38.77086
## [982,] -90.26711 38.77085
## [983,] -90.26688 38.77084
## [984,] -90.26608 38.77083
## [985,] -90.26565 38.77083
## [986,] -90.26512 38.77082
## [987,] -90.26230 38.77078
## [988,] -90.26058 38.77076
## [989,] -90.26058 38.77076
## [990,] -90.26056 38.77076
## [991,] -90.26056 38.77076
## [992,] -90.26054 38.77066
## [993,] -90.26053 38.77061
##
##
##
## Slot "plotOrder":
## [1] 1
##
## Slot "labpt":
## [1] -90.29501 38.74890
##
## Slot "ID":
## [1] "102"
##
## Slot "area":
## [1] 0.00165345
##
##
##
## Slot "plotOrder":
## [1] 1
##
## Slot "bbox":
## min max
## x -90.31909 -90.25912
## y 38.72506 38.77254
##
## Slot "proj4string":
## CRS arguments:
## +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0
plot(stlco)
plot(stlco[stlco@data$MUNICIPALI=="FERGUSON",], col="green", add = TRUE)
The centroid or center of mass is one way to represent the “middle” of a given polygon.
fergcent<-gCentroid(stlco[stlco@data$MUNICIPALI=="FERGUSON",])
fergcent
## SpatialPoints:
## x y
## 1 -90.29501 38.7489
## Coordinate Reference System (CRS) arguments: +proj=longlat
## +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0
plot(stlco)
plot(stlco[stlco@data$MUNICIPALI=="FERGUSON",], col="green", add = TRUE)
plot(fergcent,add = T,col="red")
A buffer is a region that extends a spatial object outward by a given distance. A buffer around a point is a circle centered at that point. A buffer of a street centerline is a strip of land that could include the shoulder, the median, and sidewalk running parallel to the road. A buffer of a state could include all regions within 10 miles of that state’s border.
We note here that the data from St. Louis County was delivered in geographic coordinates, not projected coordinates. This means that we have latitude and longitude data that is inherently 3D. We will need to project this in order to compute a buffer. We will first try to only project the centroid, compute the buffer relative to it, and continue from there.
ferg_cent_MOstplE<-spTransform(fergcent, CRS("+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m +no_defs"))
ferg_buffer <- gBuffer(spgeom = ferg_cent_MOstplE, width = 4828) # 3 mi ~ 4828 m
ferg_buffer
## An object of class "SpatialPolygons"
## Slot "polygons":
## [[1]]
## An object of class "Polygons"
## Slot "Polygons":
## [[1]]
## An object of class "Polygon"
## Slot "labpt":
## [1] 267818.9 323577.2
##
## Slot "area":
## [1] 72030576
##
## Slot "hole":
## [1] FALSE
##
## Slot "ringDir":
## [1] 1
##
## Slot "coords":
## x y
## [1,] 272646.9 323577.2
## [2,] 272410.6 322085.3
## [3,] 271724.9 320739.4
## [4,] 270656.7 319671.3
## [5,] 269310.9 318985.5
## [6,] 267818.9 318749.2
## [7,] 266327.0 318985.5
## [8,] 264981.1 319671.3
## [9,] 263913.0 320739.4
## [10,] 263227.2 322085.3
## [11,] 262990.9 323577.2
## [12,] 263227.2 325069.2
## [13,] 263913.0 326415.1
## [14,] 264981.1 327483.2
## [15,] 266327.0 328168.9
## [16,] 267818.9 328405.2
## [17,] 269310.9 328168.9
## [18,] 270656.7 327483.2
## [19,] 271724.9 326415.1
## [20,] 272410.6 325069.2
## [21,] 272646.9 323577.2
##
##
##
## Slot "plotOrder":
## [1] 1
##
## Slot "labpt":
## [1] 267818.9 323577.2
##
## Slot "ID":
## [1] "buffer"
##
## Slot "area":
## [1] 72030576
##
##
##
## Slot "plotOrder":
## [1] 1
##
## Slot "bbox":
## min max
## x 262990.9 272646.9
## y 318749.2 328405.2
##
## Slot "proj4string":
## CRS arguments:
## +proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333
## +x_0=250000 +y_0=0 +ellps=GRS80 +units=m +no_defs
ferg_buffer_geog_coords<- spTransform(ferg_buffer, CRSobj = stlcoCRS)
plot(stlco)
plot(stlco[stlco@data$MUNICIPALI=="FERGUSON",], col="green", add = TRUE)
plot(fergcent,add = T,col="red")
plot(ferg_buffer_geog_coords, add = T, border="blue")
Computing a buffer allows you to easily subset the spatial objects within that buffer. (But you need the CRS to be the same.)
ferg_3mi <- stlco[ferg_buffer_geog_coords,]
plot(stlco)
plot(ferg_3mi, col = "lightblue", add = T)
plot(ferg_buffer_geog_coords, add = T, border="blue", lwd = 3)
plot(stlco[stlco@data$MUNICIPALI=="FERGUSON",], col="green", add = TRUE)
plot(fergcent,add = T,col="red")
Now that St. Louis County Data is natively in geographic coordinates (lat/lon pairs), we can easily display it with Leaflet.
leaflet(stlco) %>% addTiles() %>% addPolygons()
A description of many useful packages is available in the Spatial Task View on CRAN: https://CRAN.R-project.org/view=Spatial.
PDF available at: http://spatial.ly/wp-content/uploads/2013/12/intro-spatial-rl-3.pdf.
Shapefiles from the city of St. Louis may be downloaded here: http://data.stlouis-mo.gov/downloads.cfm.
You can obtain a shapefile of National Park Boundaries from https://irma.nps.gov/DataStore/Reference/Profile/2224545?lnv=True.